2ask matlab仿真,2ask调制解调系统仿真实验程序
2ask調制解調系統仿真實驗程序
2ASK在matlab下的仿真如下:
clear all
close all
i=10;
j=5000;
t=linspace(0,5,j);%取0,0.001,0.002,。。。5 共5001個點
fc=10;
fm=i/5;
B=2*fc; %產生基帶信號
a=round(rand(1,i));%隨機序列
figure(2)
plot(rand(1,i))
st=t;
for n=1:10
if a(n)<1;
for m=j/i*(n-1)+1:j/i*n %一個信號取500個點
st(m)=0;
end
else
for m=j/i*(n-1)+1:j/i*n
st(m)=1;
end
end
end
figure(1);
subplot(421);
plot(t,st);
axis([0,5,-1,2]);
title('基帶信號');
s1=cos(2*pi*fc*t); %載波
subplot(422);
plot(s1);
title('載波信號');
e_2ask=st.*s1; %調制
subplot(423);
plot(t,e_2ask);
title('已調信號');
noise =rand(1,j);
e_2ask=e_2ask+noise;%加入噪聲
subplot(424);
plot(t,e_2ask);
title('加入噪聲的信號');
at=e_2ask.*cos(2*pi*fc*t); %相干解調
at=at-mean(at);
subplot(425);
plot(t,at);
title('相乘后信號');
[f,af] = T2F(t,at);%通過低通濾波器
[t,at] = lpf(f,af,2*fm);
subplot(426);
plot(t,at);
title('解調后波形');
for m=0:i-1; %抽樣判決
if at(1,m*500+250)+0.5<0.5;
for j=m*500+1:(m+1)*500;
at(1,j)=0;
end
else
for j=m*500+1:(m+1)*500;
at(1,j)=1;
end
end
end
subplot(427);
plot(t,at);
axis([0,5,-1,2]);
title('抽樣判決后波形')
總結
以上是生活随笔為你收集整理的2ask matlab仿真,2ask调制解调系统仿真实验程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: @Async注解导致循环依赖,BeanC
- 下一篇: MFC版链表实现稀疏多项式相加减