梦晓 发表于 2009-5-6 15:03

求助,看看这个程序是不有什么错误

%*******************************************************************%
%f—模拟信号的频率
% M—基2 FFT幂次数 N=2^M为采样点数,这样取值是为了便于作基2的FFT分析
%用来模拟 模拟信号的 数字信号的采样频率Fs
%过采样频率fs
%*******************************************************************%
f=100;M=10;Fs=10000;
N=2^M; % fft点数=取样总点数
Ts=1/Fs; % 取样时间间隔
T=N*Ts; % 取样总时间=取样总点数*取样时间间隔
n=0:N-1; t=n*Ts; wn=2*f/Fs;
Xn=sin(2*f*pi*t)+rands(size(t));
figure(1); subplot(221)
plot(t,Xn); title('滤波前信号'); axis()
X=abs(fft(Xn,512)); f0=(0:length(X)-1)'*f/length(X)
subplot(222); plot(f0,X);title('滤波前信号的频谱');

%滤波
=butter(2,wn); y=filter(b,a,Xn);
subplot(223); plot(t,y);title('滤波后信号');
axis(); Y=abs(fft(y,512));
subplot(224); plot(Y); title('滤波后信号的频谱');

%采样点数,间隔的计算
fs=250 %采样频率
deltaN=Fs/fs; Ns=N/deltaN;

%采样
for i=1:Ns, Xd(i)=Xn((i-1)*deltaN+1); end
figure(2)
subplot(4,1,1); stem(Xd,'.'); title('采样后离散信号'); axis();
XD=abs(fft(Xd,512));
subplot(412); plot(XD);title('采样后离散信号的频谱');

[ 本帖最后由 ChaChing 于 2009-5-7 10:05 编辑 ]

sigma665 发表于 2009-5-6 15:28

回复 楼主 梦晓 的帖子

请给出详细的出错提示

梦晓 发表于 2009-5-6 16:14

回复 沙发 sigma665 的帖子

运行没有错误,就是感觉出来的图形不对,还有在画频谱图时,plot(Y);中加上f0就是plot(f0,Y);就和原频谱图基本相像,如果不加,就感觉差很远,而且改变采样信号,采样后离散信号的频谱没有变化,如果采样频率低于奈奎斯特采样频率时应该是有重叠才对啊,我是刚学习,都不是很了解

还有,如果再用三次样条内插进行模拟信号重建,该怎么编程啊

[ 本帖最后由 ChaChing 于 2009-5-6 16:51 编辑 ]
页: [1]
查看完整版本: 求助,看看这个程序是不有什么错误