當前位置:編程學習大全網 - 源碼下載 - MATLAB仿真 BPSK調制解調器

MATLAB仿真 BPSK調制解調器

clc;

clear;

fc=4800;fs=12000;fb=2400;

%要調制的數字信號

a=randint(1,12,2);%隨機產生12個“0”,“1”

s=zeros(1,60);

for i=1:12

for j=1:5

if(a(i)==0)

s(j+(i-1)*5)=0;

else

s(j+(i-1)*5)=1;

end

end

end

plot(s);xlabel('基帶信號');

figure

pwelch(s);%功率譜

figure

%波形成形濾波器(平方根升余弦滾降)

h=firrcos(14,1200,1200,4800,'sqrt');

figure

stem(h);xlabel('成形濾波器的單位沖擊響應');

[H,W]=freqz(h,1);

H=abs(H);

figure

plot(H);xlabel('成形濾波器的頻率響應');

s=fftfilt(h,s);

figure

plot(s);xlabel('通過成形濾波器後的基帶信號');

figure

pwelch(s);%經波形成形濾波器後的功率譜

%已調信號

e=dmod(a,4800,2400,12000,'psk',2);%調制

figure

plot(e);xlabel('已調信號');

enoise=e+randn(1,60);%enoise=e+.1*randn(1,60)不同功率的高斯白噪聲

aa=ddemod(enoise,4800,2400,12000,'psk',2);%解調

figure

stem(aa);xlabel('解調後的數字信號');%解調後的數字信號

p=symerr(a,aa)/12 %誤碼率

%誤碼率曲線

figure

r=-6:3:12;

rr=10.^(r/10);

pe1=1/2*exp(-rr);%相幹解調的誤碼率曲線

hold on

plot(r,pe1,'r');grid on;

pe2=(1-1/2*erfc(sqrt(rr))).*erfc(sqrt(rr));%差分相幹解調的誤碼率曲線

plot(r,pe2,'b');xlabel('bpsk,dpsk誤碼率曲線');

set(gca,'XTick',-6:3:18);

  • 上一篇:“兩只金融股”是什麽意思
  • 下一篇:vue 仿抖音視頻播放切換
  • copyright 2024編程學習大全網