返回信息流题目是这个:
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]
这是一条镜像帖。来源:北邮人论坛 / matlab / #5695同步于 2009/6/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
【求助】求助大哥大姐能不能帮忙看下我哪里不对啊?
lotuswenwen
2009/6/1镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
是滴~
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是自定义函数吗?
昂?
能具体解释一下么?
我感觉这应该是MATLAB里的函数啊~
谢谢大哥了
【 在 jhsloi 的大作中提到: 】
: [t,rt]=lpf(f,rf,2*2.5);
: 这句有错误