原文地址:http://blog.sina.com.cn/s/blog_79ecf6980100vcrf.html

低通滤波器参数:Fs=8000,fp=2500,fs=3500,Rp=1dB,As=30dB,其他滤波器可以通过与低通之间的映射关系实现。

%%模拟滤波器
%巴特沃斯——滤波器设计
wp=2*pi*2500;ws=2*pi*3500;Rp=1;As=30;
[N,wc]=buttord(wp,ws,Rp,As,'s')%计算率波器的阶数和3dB截止频率
[B,A]=butter(N,wc,'s');%计算滤波器系统函数分子分母多项式
fk=0:800/512:8000;wk=2*pi*fk;
Hk=freqs(B,A,wk);
figure
plot(fk/1000,20*log10(abs(Hk)));
grid on,xlabel('频率(kHz)'),ylabel('幅度(dB)')
title('巴特沃斯模拟滤波器')
axis([0,4,-35,5])

  

%%
%切比雪夫I——滤波器设计
wp=2*pi*2500;ws=2*pi*3500;Rp=1;As=30;
[N1,wp1]=cheb1ord(wp,ws,Rp,As,'s')%计算切比雪夫滤波器的阶数和通带边界频率
[B1,A1]=cheby1(N1,Rp,wp1,'s');%计算滤波器系统函数分子分母多项式
fk=0:800/512:8000;wk=2*pi*fk;
Hk=freqs(B1,A1,wk);figure,
plot(fk/1000,20*log10(abs(Hk)));
grid on,xlabel('频率(kHz)'),ylabel('幅度(dB)')
title('切比雪夫I模拟滤波器')
axis([0,4,-35,5])
%%

%切比雪夫II——滤波器设计
wp=2*pi*2500;ws=2*pi*3500;Rp=1;As=30;
[N2,wso]=cheb2ord(wp,ws,Rp,As,'s')%计算切比雪夫滤波器的阶数和通带边界频率
[B2,A2]=cheby2(N1,Rp,wso,'s');%计算滤波器系统函数分子分母多项式
fk=0:800/512:8000;wk=2*pi*fk;
Hk=freqs(B1,A1,wk);figure,
plot(fk/1000,20*log10(abs(Hk)));
grid on,xlabel('频率(kHz)'),ylabel('幅度(dB)')
title('切比雪夫II模拟滤波器')
axis([0,4,-35,5])

%%
%椭圆——滤波器设计
wp=2*pi*2500;ws=2*pi*3500;Rp=1;As=30;
[N,wpo]=ellipord(wp,ws,Rp,As,'s')%计算滤波器的阶数和通带边界频率
[B,A]=ellip(N,Rp,As,wpo,'s');%计算滤波器系统函数分子分母多项式
fk=0:800/512:8000;wk=2*pi*fk;
Hk=freqs(B1,A1,wk);figure,
plot(fk/1000,20*log10(abs(Hk)));
grid on,xlabel('频率(kHz)'),ylabel('幅度(dB)')
axis([0,4,-35,5]),title('椭圆模拟滤波器')

%%
%数字滤波器
%脉冲响应法滤波器设计
fp=2500;fs=3500;Fs=8000;
wp=2*fp/Fs;ws=2*fs/Fs;%求归一化数字通带截止频率,求归一化数字阻带起始频率
deltaw=ws-wp;%求过渡带宽
N0=ceil(6.6/deltaw);%求窗口长度
N=N0+mod(N0+1,2); %确保窗口长度 N为奇数
n=N-1;%求出滤波器的阶数 n
wn=(ws+wp)/2; %求滤波器的截止频率
b=fir1(n,wn)%利用 fir1 函数求出滤波器的系数
[Hk,w] = freqz(b,1); % 计算频率响应
mag = abs(Hk); % 求幅频特性
db = 20*log10(mag/max(mag)); % 化为分贝值
dw =pi/512; %关于pi归一化
Rp = -(min(db(1:wp*pi/dw+1))) % 检验通带波动
As = -(max(db(ws*pi/dw+1:512))) % 检验最小阻带衰减
figure,plot(0:pi/511:pi,db),grid on
axis([0,4.0,-80,5]),title('数字滤波器——脉冲响应法')
%%

%fir1窗函数法
fp=2500;fs=3500;Fs=8000;rs=30;
wp=2*fp*pi/Fs;ws=2*fs*pi/Fs;%求归一化数字通带截止频率,求归一化数字阻带起始频率
Bt=ws-wp;%求过渡带宽
alpha=0.5842*(rs-21)^0.4+0.07886*(rs-21);%计算kaiser窗的控制参数
M=ceil((rs-8)/2.285/Bt);%求出滤波器的阶数
wc=(ws+wp)/2/pi; %求滤波器的截止频率并关于pi归一化
hk=fir1(M,wc,kaiser(M+1,alpha))%利用 fir1 函数求出滤波器的系数
[Hk,w] = freqz(hk,1); % 计算频率响应
mag = abs(Hk); % 求幅频特性
db = 20*log10(mag/max(mag)); % 化为分贝值
db1=db';
figure,plot(0:pi/511:pi,db1),grid on
axis([0,4.0,-80,5]),title('数字滤波器——fir1窗函数法')
%%

 

%频率采样法
fp=2500;fs=3500;Fs=8000;rs=30;
wp=2*fp*pi/Fs;ws=2*fs*pi/Fs;%求归一化数字通带截止频率,求归一化数字阻带起始频率
Bt=ws-wp;%求过渡带宽
m=1;alpha=0.5842*(rs-21)^0.4+0.07886*(rs-21);%计算kaiser窗的控制参数
N=ceil(m+1)*2*pi/Bt;%求出滤波器的阶数
N=N+mod(N+1,2);
Np=fix(wp/(2*pi/N));
Ns=N-2*Np-1;
Hk=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
wc=(ws+wp)/2/pi; %求滤波器的截止频率并关于pi归一化
hk=fir1(M,wc,kaiser(M+1,alpha))%利用 fir1 函数求出滤波器的系数
[Hk,w] = freqz(hk,1); % 计算频率响应
mag = abs(Hk); % 求幅频特性
db = 20*log10(mag/max(mag)); % 化为分贝值
db1=db';
figure,plot(0:pi/511:pi,db1),grid on
axis([0,4.0,-80,5]),title('数字滤波器——频率采样法')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  

%%
%利用等波纹最佳逼近法设计FIR数字滤波器
Fs=8000;f=[2500,3500];m=[1,0];
rp=1;rs=30;
delta1=(10^(rp/20)-1)/(10^(rp/20)+1);delta2=10^(-rs/20);
rip=[delta1,delta2];
[M,fo,mo,w]=remezord(f,m,rip,Fs);%边界频率为模拟频率时必须加入采样频率
M=M+1;%估算的M直达不到要求,家1后满足要求
hn=remez(M,fo,mo,w);
[Hk,w] = freqz(hn,1); % 计算频率响应
mag = abs(Hk); % 求幅频特性
db = 20*log10(mag/max(mag)); % 化为分贝值
db1=db';
figure,plot(0:pi/511:pi,db1),grid on
axis([0,4.0,-80,5]),title('数字滤波器——等波纹最佳逼近法')

【转】【MATLAB】模拟和数字低通滤波器的MATLAB实现的更多相关文章

  1. 模拟和数字低通滤波器的MATLAB实现

    低通滤波器参数:Fs=8000,fp=2500,fs=3500,Rp=1dB,As=30dB,其他滤波器可以通过与低通之间的映射关系实现. %%模拟滤波器 %巴特沃斯——滤波器设计 wp=2*pi*2 ...

  2. 多普勒失真信号采样Matlab模拟分析

    多普勒失真信号采样Matlab模拟分析 方案 水声通信指的是使用声信号在水中数据传输. 相对而言.电磁信号在水中吸收严重衰减过快,光信号受水中悬浮颗粒的影响,也无法完毕远距离传输. 这两种信号的传播距 ...

  3. 《数字图像处理(MATLAB)》冈萨雷斯

    <数字图像处理(MATLAB)>冈萨雷斯 未完结! 参考:数字图像处理——https://blog.csdn.net/dujing2019/article/category/8820151 ...

  4. 基于小波变换的数字图像处理(MATLAB源代码)

    基于小波变换的数字图像处理(MATLAB源代码) clear all; close all; clc;M=256;%原图像长度N=64; %水印长度[filename1,pathname]=uiget ...

  5. MATLAB模拟布丰投针实验

    MATLAB模拟布丰投针实验 标签(空格分隔): 算法 Buffon's Needle 桌面上有距离为a的若干平行线,将长度为L的针随机丢在桌面上,则这根针与平行线相交的概率是多少?假定L < ...

  6. MATLAB实现最优低通滤波器的函数

    MATLAB实现最优低通滤波器的函数 % Fs     --Data rate % Fpass  --pass band % Fstop  --Cutoff frequencies % Apass  ...

  7. csdn vip文章:使用matlab模拟镜头失真

    原文地址 https://blog.csdn.net/lircsszz/article/details/80249017 最近在研究图像校正,现将镜头失真中常见的径向畸变(radial distort ...

  8. 一些matlab教程资源收藏,使用matlab编程的人还是挺多的

    Matlab教程专题资源免费下载整理合集收藏 <MATLAB从入门到精通>高清文字版[PDF] 103.9MB 简体中文 <矩阵实验室>(Mathworks.Matlab.R2 ...

  9. 程序点滴001_Python模拟点阵数字

    尝试过很多编程语言,写过不少程序(当然,基本上都是些自娱自乐或给自己用的工具类的小玩意儿),逐渐认识到编写程序是一个不断完善.不断优化的过程——编程首先要有一个想法(目标),围绕这个目标形成最基本的功 ...

随机推荐

  1. Java内存区域与内存溢出异常---运行时数据区域

    运行时数据区域 Java虚拟机所管理的内存将会包括以下几个运行时数据区域 线程私有区域 1.程序计数器   程序计数器记录的是当前正在执行的虚拟机字节码指令所在的地址.在虚拟机的概念模型中,字节码解释 ...

  2. Maven入门(二)pom.xml和核心概念

    一.pom.xml文件说明 1.pom意思就是project object model. 2.pom.xml包含了项目构建的信息,包括项目的信息.项目的依赖等. 3.pom.xml文件是可以继承的,大 ...

  3. Android 远程连接数据库。。。。。

    本来是 6.0.6  换成mysql 5.1.14 驱动ok.... 将方法 放在 new Thread() 解决..... 只能在主线程绘制ui.... 解决办法...子Thread 获取数据后,将 ...

  4. poj3349找相同的雪花(哈希)

    题目传送门 题目大意:给你n个雪花,每个雪花的六个棱都有各自的长度,如果存在两片雪花的每条棱长度对应相同,则输出一句英文,如果不存在就输出另外一句英文,n和长度都比较大. 思路:第一次真正接触哈希,查 ...

  5. PHP任意文件上传漏洞(CVE-2015-2348)

    安全研究人员今天发布了一个中危漏洞——PHP任意文件上传漏洞(CVE-2015-2348). 在上传文件的时候只判断文件名是合法的文件名就断定这个文件不是恶意文件,这确实会导致其他安全问题.并且在这种 ...

  6. iOS WebDriverAgent 环境搭建

    WebDriverAgent简介 WebDriverAgent是Facebook 在去年的 SeleniumConf 大会上推出了一款新的iOS移动测试框架.当时的推文申明,还只支持模拟器,不过在今年 ...

  7. 创建有关hbase数据库的项目时所遇到的问题

    1.在以前使用其他数据库时,经常会使用id自增来做主键,但是hbase数据库中不知道怎么来设置自增主键,所以我打算不要id自增主键.然后删除原来的表,重新创建表. 删除表语句: 用drop命令可以删除 ...

  8. HTTP的请求头标签 If-Modified-Since

    一直以来没有留意过HTTP请求头的IMS(If-Modified-Since)标签. 最近在分析Squid的access.log日志文件时,发现了一个现象.就是即使是对同一个文件进行HTTP请求,第一 ...

  9. VSCode个人实用插件

    1.汉化插件 Chinese (Simplified) Language Pack for Visual Studio Code 发布者:Microsoft 2.主题插件(IDEA主题) Darcul ...

  10. Naive Operations

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6315 学习博客:https://blog.csdn.net/SunMoonVocano/article ...