資源簡介
Matlab 強大之處在于它可以用編程語言繪制想要模擬的系統最終輸出的圖形,通過 Matlab 編程 MSK 系統,可以得到各環節的圖形,通過對圖形的分析可以得出MSK系統的特點及性能
代碼片段和文件信息
n=10000;
count=100;
N=n/count; %N=100
r=rand(1N-1);?%?產生一個行向量,共9999個
for?i=1:N-1
if?(r(i)>=0.5)?r(i)=1;
else?r(i)=-1;?end;
end; %將這9999個數整數化為1,-1
for?i=1:n-count %?取9900個
R(i)=r(((i-1)-mod((i-1)count))/count+1);?end; %
a(1)=1;
for?i=2:N
if?r(i-1)==1?a(i)=-a(i-1);
else?a(i)=a(i-1);
end;
end;
for?i=1:n
A(i)=a(((i-1)-mod((i-1)count))/count+1);?
end;
for?i=1:N
if(mod(i2))
l(i)=a(i);
l(i+1)=a(i);
else?q(i)=a(i);
q(i-1)=a(i);?
end;
end;
for?i=1:n
I(i)=l(((i-1)-mod((i-1)count))/count+1);?
end;
for?i=1:n
Q(i)=q(((i-1)-mod((i-1)count))/count+1);
end;
ts=0.0001;
Ts=ts*count;?
fs=1/ts;?
fc=5/(2*Ts);?
t0=Ts*N-ts;
f=1/(4*Ts);
df=0.3;
tI=[-Ts:ts:t0-Ts];
tQ=[0:ts:t0];
tQ_R=[0:ts:t0-Ts];
c=2*pi*f;
u=I.*cos(c*tI);
v=Q.*sin(c*tQ);
U=u.*cos(2*pi*fc*tI);
V=v.*sin(2*pi*fc*tQ);?
for?i=count+1:n
W(i)=U(i)+V(i-count);?
end;
figure?
subplot(411);
plot(tQ_RR‘k‘);
axis([-Ts0.1-22]);
title(‘數字信號‘);?
grid?on?
subplot(412);
plot(tIA‘k‘);axis([-Ts0.1-22]);
title(‘差分編碼后的信號‘);?
grid?on
subplot(413);
plot(tII‘k‘);
axis([-Ts0.1-22]);
title(‘同相調制信號I‘);
grid?on
subplot(414);?plot(tQQ‘k‘);axis([-Ts0.1-22]);
title(‘正交調制信號Q‘);
grid?on?
figure
subplot(311);?
plot(tIU‘k‘);
axis([-Ts0.1-22]);?
title(‘Icos(wct)cos(wt)‘);
grid?on?
subplot(312);?
plot(tQV‘k‘);
axis([-Ts0.1-22]);?
title(‘Qsin(wct)sin(wt)‘);
grid?on
subplot(313);?
plot(tIW‘k‘);
axis([-Ts0.1-22]);
title(‘MSK信號‘);
grid?on
noise=0.15*randn(1n);?
S=W+noise;?
[S1sdf1]=fftSeq(Stsdf);?
S1=S1/fs;
f=[0:df1:df1*(length(s)-1)]-fs/2;
n_cutoff=100;
H=zeros(size(f));
for?i=floor((fc-n_cutoff)/df1):floor((fc+n_cutoff)/df1)?H(i)=1;
end;
for?i=(65536-floor((fc-n_cutoff)/df1)):-1:(65536-floor((fc+n_cutoff)/df1))?H(i)=1;
end;?
DEM=S1.*H;
dem=real(ifft(DEM))*fs;?
dm=dem(1:length(tQ));?
ds1=dm.*cos(2*pi*fc*tQ+pi*tQ/(2*Ts));?
ds2=dm.*cos(2*pi*fc*tQ-pi*tQ/(2*Ts));
[DW1wwdf1]=fftseq(ds1tsdf);
[DW2wwdf1]=fftseq(ds2tsdf);
DW1=DW1/fs;
DW2=DW2/fs;
n_cutoff1=floor(200/df1);
f1=[0:df1:df1*(length(ww)-1)]-fs/2;
H1=zeros(size(f1));
H1(1:n_cutoff1)=2*ones(1n_cutoff1);
H1(length(f1)-n_cutoff1+1:length(f1))=2*ones(1n_cutoff1);
DEM1=H1.*DW1;
DEM2=H1.*DW2;
s1=real(ifft(DEM1))*fs;
s11=s1(1:length(tQ));?
s2=real(ifft(DEM2))*fs;?
s22=s2(1:length(tQ));?
for?i=1:n
if?(s11(i)>=0.95)||(s11(i)<=-0.95)sa(i)=-1;
else?sa(i)=1;?
end;
end;
for?i=1:n
if?(s22(i)>=0.95)||(s22(i)<=-0.95)sb(i)=1;
else?sb(i)=-1;?
end;
end;
- 上一篇:電子商務網站開發項目計劃書.mpp
- 下一篇:腦電波MATLAB分析代碼
評論
共有 條評論