MATLAB中的低通/带通滤波器设计

时间:2012-05-17 19:24:13

标签: matlab communication lowpass-filter

对于MATLAB中的模拟通信系统设计,首先我需要做这两个设计:

  1. 设计一个低通滤波器[slow]=lowpassfilter(s,fcut,fs),以赫兹为截止频率s和采样频率fcut过滤输入信号fs

    < / LI>
  2. 设计一个带通滤波器[sband]=bandpassfilter(s,fcutlow,fcuthigh,fs),以赫兹为截止频率sfcutlow以及采样频率fcuthigh滤波输入信号fs

  3. 你能帮我吗?

2 个答案:

答案 0 :(得分:2)

Matlab有fdatool用于过滤器设计目的。 Here是文档。您可以使用fdatool和信号处理工具箱执行所有这些任务。

答案 1 :(得分:2)

我发现这个问题有很多观点,但仍然没有好的答案。

以下代码将满足您的需求。由于没有指定过滤器类型,我使用了一个butterworth过滤器来演示它。 s是输入信号,x是滤波后的信号。 fs是以Hz为单位的采样率。

% Design and apply the lowpass filter
order = 4;
fcut  = 8000;
[b,a] = butter(order,fcut/(fs/2),'low');
x     = filter(b,a,s);


% Design and apply the bandpass filter
order    = 10;
fcutlow  = 1000;
fcuthigh = 2000;
[b,a]    = butter(order,[fcutlow,fcuthigh]/(fs/2), 'bandpass');
x        = filter(b,a,s);