概述
最近因为学习原因简单学习了一下调制信号,由于没有找到现成的数据集,自己找了下MATLAB仿真调制信号程序,由于版本不同,程序并不能完美运行,通过一番努力,终于搞定(MATLAB2018a)。在这里写出来,让后面的同学少走10分钟的弯路`![这里的randi函数和2016版本不同,参数位置有了一点改变## ASK仿真程序##
n=1:8192;
m=1:128;
***x(n)=randi(2,1,8192);***
x=(x(n))';
y(n)=zeros(1,8192);
z(m)=zeros(1,128);
for n=1:8192
for m=1:128
if n== 64*m-63
z(m)=x(n);
if m==ceil(n/64)
y(((64*m-63):(64*m))')=z(m);
end
end
end
end
n=1:8192;
rm2=y(n);
x2=rm2;
n=(1:(2^13));
x1=cos(n.*1e9*2*pi/4e9);
x=x1.*x2;
b=blackman(2^13);
X=b'.*x;
x3=[ones(1,64) zeros(1,8128)];
y1=X(1:(2^13));
y4=x1.*x3;
Y1=fft(y1,(2^13));
magY1=abs(Y1(1:1:(2^12)+1))/(200);
Y4=fft(y4,(2^13));
magY4=abs(Y4(1:1:(2^12)+1))/(37);
k1=0:(2^12);
w1=(2*pi/(2^13))*k1;
u=(2*w1/pi)*1e9;
figure(1);
subplot(2,1,1);plot(u,magY1,'b',u,magY4,'r-.');
grid on;
title('ASKr');
axis([4e8,1.6e9,0,1.1]);
X2=b'.*x2;
y2=X2(1:(2^13));
Y2=fft(y2,(2^13));
magY3=abs(Y2(1:1:(2^12)+1))/(200)+eps;
subplot(2,1,2);semilogy(u,magY2,'b',u,magY3,'r-.');
grid on;
title('ASKr-modulation');
axis([0,1.2e9,3e-2,3]);
figure(2);
subplot(2,1,1);plot(n,x2);
title('ASKr');
axis([0,640,-0.2,1.2]);
grid on;
subplot(2,1,2);plot(n,x);
axis([0,640,-1.2,1.2]);
grid on;`
(https://img-blog.csdnimg.cn/20190124125047395.png)
最后
以上就是忐忑烤鸡为你收集整理的ASK调制信号仿真程序的全部内容,希望文章能够帮你解决ASK调制信号仿真程序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复