#简单的数字信号插值、抽取及成型,MMSE误差分析
主题:
对于一个信号,奈奎斯特采样后的序列进行9倍插值,之后2倍抽取,选择不同的升余弦滚降因子插值滤波器,分析4.5倍插值后序列和实际采样后的对应序列误差情况。
此处的插值与抽取倍数均可调整,以实现不同分数倍的信号插值。使用升余弦滚降滤波器成型。
算法流程图如下:
需要注意虽然理论上奈奎斯特采样频率大于2倍频即可,但实际仿真为了追求效果,最好大于10倍。
A = 5;
f0 = 9;
x0 = 0:0.001:6/9;
y0 = A * sin(2 * pi * f0 .* x0);
plot(x0,y0);
hold on
fN = 360;
dt = 1/fN;
T = 0:dt:6/9;
yN = A * sin(2 * pi * f0 .* T);
stem(T,yN);
title('奈奎斯特采样后信号图');
xlabel('时间t');
ylabel('幅度A');
len = length(yN);
y1 = zeros(1,9 * len);
a = 1;
for n1 = 1:9 * len
if mod(n1 - 1,9) == 0
y1(n1) = yN(a);
a = a + 1;
end
end
figure
x1 = 1:9 * len;
stem(x1,y1,'fill','r--');
title('9倍插值后信号');
len1 = length(y1);
y2 = zeros(1,ceil(len1/2));
b = 1;
for n2 = 1:len1
if mod(n2-1,2) == 0
y2(b) = y1(n2);
b = b + 1;
end
end
figu