请问谁有上采样和插值matlab代码,借鉴一下
我在看一篇文献,里面提到了上采样和插值,还不太理解,在此想看看其他相关的代码,这样可能会对它所说的便于理解吧,谢谢你们!回复 #1 peter501 的帖子
楼主其实完全可以自己baidu或是google一下,网络资源很丰富啊,要充分利用。我搜到了一个网页,供参考:
http://www.cnblogs.com/laughterwym/archive/2006/06/18/429048.html 本帖最后由 wdhd 于 2016-9-10 14:36 编辑
原帖由 zhlong 于 2007-6-29 20:28 发表
楼主其实完全可以自己baidu或是google一下,网络资源很丰富啊,要充分利用。
我搜到了一个网页,供参考:
http://www.cnblogs.com/laughterwym/archive/2006/06/18/429048.html
这个上采样的程序似乎不全?
上采样应该是先插0,然后低通滤波。这个好像没有做低通滤波。
共同学习
我想你问的应该是抽取和内插吧实现起来可以用matlab里的函数decimate()和interp()
分别具两个例子:
抽取:
k=1;
T=4;
fc=k*T;
fs=4*fc;
Ts=1/fs;
N=T/Ts;
x=zeros(1,N);
t=0:N-1;
x=cos(k*pi*(t*Ts).^2);
subplot(2,2,1);
stem(t*Ts,x);
title('原始信号杆图')
xlabel('time')
M=2;
y=decimate(x,M);
tnew=0:N/M-1;
subplot(2,2,3);
stem(tnew*M*Ts,y);
title('抽取后信号的杆图')
xlabel('time')
X=fft(x);
X=fftshift(X);
subplot(2,2,2);
plot((t-N/2)*fs/N,abs(X));
title('原始信号频谱')
xlabel('frequency')
Y=fft(y);
Y=fftshift(Y);
subplot(2,2,4);
plot((tnew-N/M/2)*fs/N,abs(Y));
title('抽取后信号频谱')
xlabel('frequency')
内插:
发生失真后的波形和频谱
k=1;
T=4;
fc=k*T;
fs=2*fc;
Ts=1/fs;
N=T/Ts;
x=zeros(1,N);
t=0:N-1;
x=cos(k*pi*(t*Ts).^2);
subplot(2,2,1);
stem(t*Ts,x);
title('原始信号杆图')
M=2;
y=decimate(x,M);
tnew=0:N/M-1;
subplot(2,2,3);
stem(tnew*M*Ts,y);
title('抽取后信号的杆图')
X=fft(x);
X=fftshift(X);
subplot(2,2,2);
plot((t-N/2)*fs/N,abs(X));
title('原始信号频谱)
Y=fft(y);
Y=fftshift(Y);
subplot(2,2,4);
plot((tnew-N/M/2)*fs/N,abs(Y));
波形直接运行就出来了,就不在上传了。
页:
[1]