马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
%*******************************************************************%
%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([0 T/2 min(Xn) max(Xn)])
X=abs(fft(Xn,512)); f0=(0:length(X)-1)'*f/length(X)
subplot(222); plot(f0,X);title('滤波前信号的频谱');
%滤波
[b,a]=butter(2,wn); y=filter(b,a,Xn);
subplot(223); plot(t,y);title('滤波后信号');
axis([0 T/2 -1 1]); 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([1 Ns min(s) max(s)]);
XD=abs(fft(Xd,512));
subplot(412); plot(XD);title('采样后离散信号的频谱');
[ 本帖最后由 ChaChing 于 2009-5-7 10:05 编辑 ] |