PDA

查看完整版本 : 求高手帮忙看一下程序


ying311
2008-05-12, 22:15
这是Sa(t)信号的采样和重构的程序,我想做出它的原信号、采样后信号还有重构信号的频谱图,不是很会用FFT,求高手帮我改一下
wm=1;
wc=1.1*wm
Ts=pi/wm
ws=2*pi/wm
n=-100:100
nTs=n*Ts
f=sinc(nTs/pi)
Dt=0.005;t=-15:dt:15
fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))))
error=abs(fa-sinc(t/pi))
t1=-15:0.5:15
f1=sinc(t1/pi)
subplot(411)
stem(t1,f1)
xlabel('kTs')
ylabel('f(kTs)')
title('sa(t)=sinc(t/Pi)的采样信号');
subplot(412)
plot(t,fa)
xlabel('t')
ylabel('f(t)')
title('由sa(t)=sinc(t/Pi)的过采样信号重构sa(t)')
grid
subplot(413)
plot(t,error)
xlabel('t')
ylabel('error(t)')
title('过采样信号与原信号的误差')

ilyfe1998
2008-05-13, 10:45
这是Sa(t)信号的采样和重构的程序,我想做出它的原信号、采样后信号还有重构信号的频谱图,不是很会用FFT,求高手帮我改一下
wm=1;
wc=1.1*wm
Ts=pi/wm
ws=2*pi/wm
n=-100:100
nTs=n*Ts
f=sinc(nTs/pi)
Dt=0.005...

如果要做fft的话直接用fft命令就可以进行傅氏变换
只不过根据不同需要,在进行变换之前进行去均值,变换之后要平方等等

xyz20070912
2008-05-13, 22:58
楼主的意思是直接编出FFT的程序而不用已有的FFT函数?还是不理解FFT原理?

ying311
2008-05-14, 11:58
我用FFT做出来的频谱图明显不对,又看不出又什么错误,所以想请教一下