資源簡介
使用MATLAB完成2Fsk信號的產生 加噪 調制 解調 接收 誤碼率分析等仿真。解調采用相干解調與非相干解調兩種方式。

代碼片段和文件信息
%=============================1、構造載波,產生8個碼元,生成已調信號========%
a=randsrc(18[0:1]);%產生8個隨機的二進制數
l=linspace(02*pi50);%利用linspace函數創建數組,2pi長度取點50個模擬一個碼元
f1=sin(4*l);?%生成載波1
f2=sin(2*l);%生成載波2?
t=linspace(010*pi400);?%定義時間軸length為10pi取點400個,代表8個碼元的總取樣點數
out=1:400;%規定已調信號length
b=1:400;%?規定基帶信號length
w1=1:400;%?規定載波1length
w2=1:400;%?規定載波2length
%=================生成FSK信號===========%?
for?i=1:8?
????if?a(i)==0?
??????for?j=1:50?
??????????out(j+50*(i-1))=f2(j);?%若碼元為0則將載波2輸出
??????end?
????else?
??????for?j=1:50?
??????????out(j+50*(i-1))=f1(j);?%若碼元為1則將載波1輸出
??????end?
????end?
end?
for?i=1:8
????for?j=1:50?
????????b(j+50*(i-1))=a(i);?%b作為基帶信號輸出
????????w1(j+50*(i-1))=f1(j);?%w1作為載波1輸出
?????????w2(j+50*(i-1))=f2(j);?%w2作為載波2輸出
????end?
end?
subplot(321)plot(tb)axis([0?10*pi?-0.5?1.2])?xlabel(‘t‘)ylabel(‘幅度‘)title(‘基帶信號‘);grid?on;
subplot(322)plot(tw1)axis([0?10*pi?-1.2?1.2])?xlabel(‘t‘)ylabel(‘幅度‘)title(‘載波1‘);?grid?on;
subplot(323)plot(tw2)axis([0?10*pi?-1.2?1.2])?xlabel(‘t‘)ylabel(‘幅度‘)title(‘載波2‘);?grid?on;
subplot(324)plot(tout)axis([0?10*pi?-1.2?1.2])xlabel(‘t‘)ylabel(‘幅度‘)title(‘FSK波形‘);grid?on;
%axis設定XY軸起始值和終值
noise=awgn(out60‘measured‘)?;%產生噪音并加入到已調信號out中信噪比60
subplot(325);
plot(tnoise);?
ylabel(‘噪音+信號‘);?
xlabel(‘t‘);
axis([0?10*pi?-1?1]);
grid?on;
%=================3、信號解調============================================%
%=================信號通過BPF============================================%
Fs=400;%抽樣頻率400HZ
t=(1:400)*10*pi/Fs;%時軸步進
[b1a1]=ellip(40.140[2535]*2/Fs);%設計IIR帶通濾波器1
[b2a2]=ellip(40.140[1020]*2/Fs);%設計IIR帶通濾波器2
sf1=filter(b1a1noise);%信號通過該濾波器1
sf2=filter(b2a2noise);%信號通過該濾波器2
figure(2);%畫另一張圖,表示不同載波的兩路信號的解調過程
subplot(321);?
plot(tsf1);%畫出信號通過該BPF1的波形
xlabel(‘t‘);?ylabel(‘幅度‘);
title(‘f1通過BPF后的波形‘);?
axis([0?10*pi?-1.2?1.2]);
grid?on;
subplot(322);?
plot(tsf2);%畫出信號通過BPF2的波形
xlabel(‘t‘);?ylabel(‘幅度‘);
title(‘f2通過BPF后的波形‘);?
axis([0?10*pi?-1.2?1.2]);
grid?on;
f1=[f1?f1?f1?f1?f1?f1?f1?f1];
f2=[f2?f2?f2?f2?f2?f2?f2?f2];
s1=sf1.*f1;
s2=sf2.*f2;
subplot(323);?
plot(ts1);%畫出信號通過該帶通濾波器的波形
xlabel(‘t‘);?ylabel(‘通過相乘器后波形‘);?
axis([0?10*pi?-1?1]);
grid?on;
subplot(324);?
plot(ts2);%畫出信號通過該帶通濾波器的波形
xlabel(‘t‘);?ylabel(‘通過相乘器后波形‘);?
axis([0?10*pi?-1?1]);
grid?on;
%=====================信號通過LPF================%
Fs=400;%抽樣頻率400HZ
t=(1:400)*10*pi/Fs;%時軸步進
[b1a1]=ellip(40.140[25]*2/Fs);%設計IIR-LPF
[b2a2]=ellip(40.140[10]*2/Fs);%設計IIR-LPF
sf1=filter(b1a1s1);%信號通過該濾波器
sf2=filter(b2a2s2);%信號通過該濾波器
figure(2);
subplot(325);?
plot(tsf1);%畫出信號通過該低通濾波器的波形
xlabel(‘t‘);?ylabel(‘幅度‘);
title(‘sf1通過LPF后的波形‘);?
axis([0?10*pi?-1?1]);
grid?on;
figure(2);
subplot(326);?
plot(tsf2);%畫出信號通過該低通濾波器的波形
xlabel(‘t‘);?ylabel(‘幅度‘);
title(‘sf2通過LPF后的波形‘);?
axis([0?10*pi?-1?1]);
grid?on;
%=======================3、抽樣判決==================================%
fin=1:400;
for?i=1:8
??for?j=1:50
?????if
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2291??2010-07-15?00:07??FSK\非相干\fskfxg.asv
?????文件???????2237??2010-07-15?15:27??FSK\非相干\fskfxg.m
?????文件???????3960??2010-07-11?21:58??FSK\非相干\FSKYL.m
?????文件???????3865??2010-07-11?16:50??FSK\非相干\FSKYL.asv
?????文件???????1654??2010-07-15?08:16??FSK\非相干\fskfxgwml.m
?????文件???????4096??2010-07-15?09:29??FSK\非相干\FSKFXG2.m
?????文件???????3764??2010-07-11?17:00??FSK\相干\FSKX.m
?????文件???????2705??2010-07-15?15:13??FSK\相干\fskxg.m
?????文件???????2996??2010-07-06?15:03??FSK\相干\FSKX.asv
?????文件???????1568??2010-07-13?19:48??FSK\相干\fskxgwml.asv
?????文件???????1895??2010-07-15?08:17??FSK\相干\fskxgwml.m
?????文件???????2613??2010-07-15?15:10??FSK\相干\fskxg.asv
?????目錄??????????0??2010-07-14?16:27??FSK\非相干
?????目錄??????????0??2010-07-14?16:27??FSK\相干
?????目錄??????????0??2010-07-14?11:00??FSK
-----------?---------??----------?-----??----
????????????????33644????????????????????15
- 上一篇:離散系統分析的MATLAB實現
- 下一篇:純滯后的一階慣性環節設計
評論
共有 條評論