我是靠谱客的博主 友好小蜜蜂,最近开发中收集的这篇文章主要介绍matlab模拟滤波器频率响应,怎样求FIR滤波器在任意频率上的频率响应?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

如题,本人设计一个带通滤波器,想计算得到滤波器在任意频点上的脉冲响应。有三种方法:1.利用freqz计算滤波器的频率响应;2.对滤波器系数进行FFT变换。上述两种方法得到的都是离散频点的脉冲响应,频率是固定的离散值,不能满足满足需求。3.计算滤波器的转移函数。方法3代码如下:

clc;

close all;

clear all;

NFFT             = 2*8192; % FFT点数

fs                   = 1250;    % Sample rate,采样速率

Ts                   =1/fs;

%% 50Hz带通滤波处理

f0       = 50;% Hz,带通中心频率

BW     = 2*4; % 通带宽度

f_p1    = f0 - BW/2; %通带左边缘频率,模拟频率, p--pass

f_p2    = f0 + BW/2; %通带右边缘频率,模拟频率

deta1 = 1;                                       % 通带峰值起伏最大值,dB

f_s1     = f_p1 - 2;  %阻带左边缘频率,模拟频率, s--stop

f_s2     = f_p2 + 2; %阻带右边缘频率,模拟频率

delta2 = 40;                                 % 阻带最小衰减,dB

fcuts                       = [f_s1,f_p1,f_p2,f_s2];

mags                      = [0,deta1,0];

devs                       = [0.01,0.1087,0.01];

[n,Wn,beta,ftype] = kaiserord(fcuts,mags,devs,fs);

hh                           = fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale'); % FIR带通滤波器系数

[H,f]                        = freqz(hh,1,NFFT,fs); % f是模拟频率,H是频率响应,|H|是幅值,angle(H)是相角(弧度)。

figure(1);

plot(f, 20*log10(abs(H)));legend('滤波器幅频响应');

%% 手动计算FIR滤波器的频率响应

% 目的是可以计算滤波器在任意频率上的响应

n         = 0 : NFFT-1;

omeg      = zeros(1,NFFT);

H2       = zeros(size(omeg));

for m = 1:NFFT

omeg(m) = n(m)*2*pi*fs/(NFFT);

for l = 1:length(hh)

temp  = hh(l) * exp(-1j*omeg(m)*(l-1));

H2(m) = H2(m) + temp; %计算得到的滤波器频率响应

end

end

figure(2);

plot(f,20*log10(abs(H2))); % 幅频响应

运行结果来看,H2只有第一个元素与H是相同的,这显然是错误的,且频率omeg是f对应位置的取值的2倍,请各位大神解答一下,为什么会出现这样的错误?

Fig1.jpg

(25.61 KB, 下载次数: 1)

2017-3-28 09:40 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

fig1

30ab59832ad5532aea659307e7d4eb00.png

Fig2.jpg

(36.86 KB, 下载次数: 0)

2017-3-28 09:41 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

fig2

7f4c9e9d4ae6ffedef5d83758a8f9c44.png

最后

以上就是友好小蜜蜂为你收集整理的matlab模拟滤波器频率响应,怎样求FIR滤波器在任意频率上的频率响应?的全部内容,希望文章能够帮你解决matlab模拟滤波器频率响应,怎样求FIR滤波器在任意频率上的频率响应?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部