- 积分
- 6
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2013-4-20
- 最后登录
- 1970-1-1

|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
问题:(1)残留边带为0.2fm的VSB调制系统; (2)调制信号的功率谱密度。
程序如下:
%显示模拟调制的波形及解调方法VSB,文件名为VSB.m
%Signal
dt=0.001;
fmax=5;
fc=20;
T=5;
N=T/dt;
t=[0:N-1]*dt;
mt=sqrt(2)*(cos(2*pi*fmax*t)+sin(2*pi*0.5*fmax*t));
%VSB modulation
s_vsb=mt.*cos(2*pi*fc*t);
B=1.2*fm;
double [f,sf]=FFT_SHIFT(t,s_vsb);
dt=t(2)-t(1);
T=t(end);
df=1/T;
N=length(t);
f=[-N/2:N/2-1]*df;
sf=fft(s_vsb);
sf=T/N*fftshift(sf);
double [t,s_vsb]=vsbmd(f,sf,0.2*fm,1.2*fm,fc);
df=f(2)-f(1);
T=1/df;
hf=zeros(1,length(f));
bf1=[floor((fc-0.2*fm)/df):floor((fc+0.2*fm)/df)];
bf2=[floor((fc+0.2*fm/df))+1:floor((fc+1.2*fm)/df)];
f1=bf1+floor(length(f)/2);
f2=bf2+floor(length(f)/2);
stepf=1/length(f1);
hf(f1)=0:stepf:1-stepf;
hf(f2)=1;
f3=-bf1+floor(length(f)/2);
f4=-bf2+floor(length(f)/2);
hf(f3)=0:stepf:(1-stepf);
hf(f4)=1;
yf=hf.*sf;
double [t,s_vsb]=IFFT_SHIFT(f,yf);
df=f(2)-f(1);
fmax=(f(end)-f(1)+df);
dt=1/fmax;
N=length(f);
t=[0:N-1]*dt;
yf=fftshift(yf);
s_vsb=fmax*ifft(yf);
s_vsb=real(s_vsb);
s_vsb=real(s_vsb);
%Power Spectrum Density
double [f,sf]=FFT_SHIFT(t,s_vsb);
dt=t(2)-t(1);
T=t(end);
df=1/T;
N=length(t);
f=[-N/2:N/2-1]*df;
sf=fft(s_vsb);
sf=T/N*fftshift(sf);
PSD=(abs(sf).^2)/T;
%plot VSB and PSD
figure(1)
subplot(211)
plot(t,s_vsb);hold on;
plot(t,mt,'r--');
title('VSB调制信号');
xlabel('t');
subplot(212)
plot(f,PSD);
axis([-2*fc 2*fc 0 max(PSD)]);
title('VSB信号功率谱');
xlabel('f');
错误如下:
??? Undefined function or variable 'fm'.
Error in ==> VSB at 12
B=1.2*fm;
该调用的都调用了,也不知道怎么回事,求好心人帮忙,谢谢!
|
|