BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #5695同步于 2009/6/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

【求助】求助大哥大姐能不能帮忙看下我哪里不对啊?

lotuswenwen
2009/6/1镜像同步5 回复
题目是这个: AM调制解调 (1)用matlab产生一个频率分别为5Hz、2.5Hz的余弦和正弦叠加信号作为信源m(t),两个频率分量功率相同,总信号功率为2,设载波频率为120Hz,幅度为2,试画出AM调制信号 (2)调制信号的功率谱密度 (3)相干解调后的信号波形 我自己做的程序如下: clc clear %clf T=10; %定义信号持续时间 dt=0.01; %定义仿真时的信号采样率 t=[0:dt:T]; %定义时间矢量 f=[0:1/dt:1/T]; f1=5; f2=2.5; fc=120; %载波频率w A=sqrt(2); %定义直流偏量 B=sqrt(2); m1 = A*cos(2*pi*f1*t); m2 = B*sin(2*pi*f2*t); subplot(4,2,1) plot(t,m1);grid xlabel('时间t');ylabel('幅度'); title('余弦信号'); axis([0 3 -2 2]) %N0=0.01; subplot(4,2,2) plot(t,m2);grid xlabel('时间t');ylabel('幅度'); title('正弦信号'); axis([0 3 -2 2]) %m(t)调制信号 m=m1+m2; subplot(4,2,3) plot(t,m);grid xlabel('时间t');ylabel('幅度'); title('调制信号'); axis([0 3 -4 4]) C=2; %定义载波幅度 c=C*cos(2*pi*fc*t); subplot(4,2,4) plot(t,c);grid xlabel('时间t');ylabel('幅度'); title('载波信号'); axis([0 1 -2 2]) subplot(4,2,5) s_am=(1+m).*c; B=2*2.5; %noise=noise_nb(fc,B,N0,t); %s_am=s_am+noise; plot(t,s_am);hold on; plot(t,2*(1+m),'r'); xlabel('t'); title('AM信号及其包络'); axis([0 4 -6 6]) %AM 相干解调 rt=s_am.*cos(2*pi*fc*t);%相干解调 rt=rt-mean(rt); [f,rf]=T2F(t,rt); [t,rt]=lpf(f,rf,2*2.5); subplot(4,2,6) plot(t,rt);hold on; plot(t,m/2,'r'); xlabel('t'); title('相干解调后的波形和输入信号的比较'); axis([0 4 -6 6]) subplot(4,2,7) [f,sf]=T2F(t,s_am);%调制信号频谱 psf=(abs(sf).^2)/T;%调制信号功率谱密度 plot(f,psf); axis([-2*fc 2*fc 0 max(psf)]) title('AM信号功率谱'); xlabel('f'); 我感觉写得还凑合,嘿嘿,可是图就出来前三个,后俩图就没影了~ 嘿嘿,还要请大哥大姐帮忙看一下,我这里万分感谢![em65]
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
ltx1215机器人#1 · 2009/6/1
你的T2F是自定义函数吗?
lotuswenwen机器人#2 · 2009/6/2
是滴~ function [f,sf]=T2F(t,st) %这个函数的功能利用fft函数对一个信号进行傅立叶变换; %输入为时间和信号的矢量,时间矢量的长度必须大于2; %输出为频率和信号频谱. dt=t(2)-t(1); T=t(end); df=1/T; N=length(st); f=-N/2*df:df:N/2*df-df; sf=fft(st); sf=T/N*fftshift(sf); 这个是叫T2F.m的文件放在和这个函数在同一个文件夹下~ 我的天啊~ 快愁死我了~ 嘿嘿~ 谢谢你昂~每次都都是你帮忙~ 【 在 ltx1215 的大作中提到: 】 : 你的T2F是自定义函数吗?
jhsloi机器人#3 · 2009/6/2
[t,rt]=lpf(f,rf,2*2.5); 这句有错误
lotuswenwen机器人#4 · 2009/6/2
昂? 能具体解释一下么? 我感觉这应该是MATLAB里的函数啊~ 谢谢大哥了 【 在 jhsloi 的大作中提到: 】 : [t,rt]=lpf(f,rf,2*2.5); : 这句有错误
lotuswenwen机器人#5 · 2009/6/2
感谢各位大哥大姐的帮忙,小妹已经成功写出程序了~哈哈