MATLAB FDAtool出口

时间:2015-05-13 07:20:39

标签: matlab

我设计了一个高通FIR滤波器,当输出为MATLAB代码时,我给出了以下内容:

function Hd = aaa
%AAA Returns a discrete-time filter object.

% MATLAB Code
% Generated by MATLAB(R) 8.3 and the Signal Processing Toolbox 6.21.
% Generated on: 13-May-2015 09:14:52

% Equiripple Highpass filter designed using the FIRPM function.

% All frequency values are normalized to 1.

Fstop = 0.1;             % Stopband Frequency
Fpass = 0.18;            % Passband Frequency
Dstop = 0.01;            % Stopband Attenuation
Dpass = 0.057501127785;  % Passband Ripple
dens  = 20;              % Density Factor

% Calculate the order from the parameters using FIRPMORD.
[N, Fo, Ao, W] = firpmord([Fstop, Fpass], [0 1], [Dstop, Dpass]);

% Calculate the coefficients using the FIRPM function.
b  = firpm(N, Fo, Ao, W, {dens});
Hd = dfilt.dffir(b);

% [EOF]

我还使用MATLAB代码生成正弦波。

如何将此正弦波传递到滤波器以分析输出?

1 个答案:

答案 0 :(得分:1)

filter函数将过滤器应用于输入向量。它被重载以允许各种过滤器类型作为输入 - 例如离散时间过滤器对象,例如您设计的对象。 语法是:

y = filter(Hd,x);

其中Hd是您在函数中设计的离散时间过滤器对象(PS:考虑为函数提供比aaa更有意义的名称),x是输入信号,例如你的正弦波。然后,过滤器的输出为y