嘿我在信号上使用FIR滤波器。我想让HF变量成为一个矩阵,其中包含变量hf中的L值。像这样:
HF = [hf1,hf2,hf3,hf4,hf5];
因此,我可以在子图中使用矩阵HF,我可以查看每个hf矢量的图。
正如你所看到的,我得到了一个写HF = [HF, hf];
的小费,它应该将hf向量实现到矩阵HF。但我无法让它发挥作用。
以下是我正在使用的代码:
w0 = 9*pi/80;
for L = [5,10,50,100,1000]
n = 1:L;
dum = (sin(w0.*n))./(pi.*n);
h = [fliplr(dum),w0/pi,dum];
% stem(h);
hfft = fft([h,zeros(1,(4096-length(h)))]);
hf = log10(hfft.*conj(hfft)/(Fs*7)/2);
HF = [HF,hf];
%figure(7)
%plot(hf(1:2048));
%pause
end
r = 3;
c = 2;
Plotnb = 1;
for i=1:r
for j=1:c
subplot(r,c,Plotnb)
plot(HF(:,Plotnb)); % Picks out the right column.
Plotnb=Plotnb+1;
end
end
% y2=conv(x,h);
% sound(y2,Fs);
任何提示都将不胜感激!
感谢您的帮助 丹尼尔
答案 0 :(得分:0)
几乎就在那里,你只需要添加
HF = [];
在进入for
循环之前。如果你不这样做,程序会在HF = [HF,hf];
上失败,因为你试图将hf
连接到尚不存在的东西。