MATLAB实现最优低通滤波器的函数
MATLAB实现最优低通滤波器的函数
% Fs --Data rate
% Fpass --pass band
% Fstop --Cutoff frequencies
% Apass --Passband ripple
% Astop --Stopband ripple
% Q_Bit --Quantization bits
function coef = LowPassFir(Fs,Fpass,Fstop,Apass,Astop,Q_Bit)
dens = 20; % Density Factor
a = [1 0]; % Desired amplitudes
rp = Apass;
rs = Astop;
% Compute deviations
dev = [(10^(rp/20)-1)/(10^(rp/20)+1),10^(-rs/20)];
% Calculate the order from the parameters using FIRPMORD.
[N, Fo, Ao, W] = firpmord([Fpass, Fstop]/(Fs/2), a, dev);
% Calculate the coefficients using the FIRPM function.
coef = firpm(N, Fo, Ao, W, {dens});
coe = coef;
fft_coe = 20*log(abs(fft(coe,1024)))/log(10);
% x_f = [0:(Fs/length(fft_coe)):Fs/2];
% m = fft_coe(1:length(x_f));
% plot(x_f,m),grid
fft_shift_coe = fftshift(fft_coe);
x_f = [-Fs/2+(Fs/length(fft_shift_coe)):(Fs/length(fft_shift_coe)):Fs/2];
plot(x_f,fft_shift_coe);grid
HB
function Coef = LowPassHb(Fs,Fpass,Apass,n)
% -- Fs sample frequency
% -- Fpass
% -- Apass(dB)
% -- n stage of the half band fir
fp = Fpass*2/(Fs);
dev = [(10^(Apass/20)-1)/(10^(Apass/20)+1)];
% dev = Apass;
switch nargin
case 3
Coef = firhalfband('minorder',fp,dev);
case 4
Coef = firhalfband(n,fp);
otherwise
error('error');
end
Coef = Coef';
vpa(Coef,16);
fft_coe = 20*log(abs(fft(Coef,1024)))/log(10);
% x_f = [0:(Fs/length(fft_coe)):Fs/2];
% m = fft_coe(1:length(x_f));
% plot(x_f,m),grid
fft_shift_coe = fftshift(fft_coe);
x_f = [-Fs/2+(Fs/length(fft_shift_coe)):(Fs/length(fft_shift_coe)):Fs/2];
plot(x_f,fft_shift_coe);grid
转载于:https://www.cnblogs.com/zhongguo135/p/5916821.html
MATLAB实现最优低通滤波器的函数相关推荐
- matlab中提供滤波器的种类有,求MATLAB巴特沃思低通滤波器程序
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:求MATLAB巴特沃思低通滤波器程序.回答:击响应不变法函数 [bz,az]=impinvar(b,a,Fs) [bz,az]=im ...
- c遗传算法的终止条件一般_Matlab2 :Matlab遗传算法(GA)优4~-r-具箱是基于基本操作 联合开发网 - pudn.com...
Matlab2 所属分类:matlab例程 开发工具:PDF 文件大小:115KB 下载次数:76 上传日期:2007-09-07 20:04:29 上 传 者:钱广 说明: :Matlab遗传算法 ...
- MATLAB:巴特沃斯低通滤波器过滤信号
MATLAB:巴特沃斯低通滤波器过滤信号 实验内容产生两个不同频率的正弦信号,设计合适的滤波器,输出其中的一个信号,滤除另外的一个信号. 代码: %生成两个不同频率的信号 clc; T=2;%时域长度 ...
- 用matlab做巴特沃斯低通滤波器
用matlab做巴特沃斯低通滤波器 趁着暑假,做一个心电图的matlab实验,遇到了滤波器问题,网上代码比较杂乱,做了一个汇总整理. 主要做了一个简单的低通滤波器并以三角函数为例子进行低通滤波. 基本 ...
- 基于matlab实现信号的低通滤波器,基于matlab的低通滤波器.doc
基于matlab的低通滤波器.doc 第-1-页共10页基于matlab的低通滤波器摘要:调用MATLAB信号处理工具箱中滤波通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念.应用最广 ...
- 巴特沃斯低通滤波器归一化matlab,基于MATLAB设计巴特沃斯低通滤波器
<基于MATLAB设计巴特沃斯低通滤波器>由会员分享,可在线阅读,更多相关<基于MATLAB设计巴特沃斯低通滤波器(6页珍藏版)>请在人人文库网上搜索. 1.基于MATLAB设 ...
- 【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 )
文章目录 一.Matlab 卷积和多项式乘法 conv 函数 二.使用 matlab 代码求卷积并绘图 一.Matlab 卷积和多项式乘法 conv 函数 Matlab 文档地址 : https:// ...
- 2021-02-23 Matlab数据导入--importdata和load函数
Matlab数据导入--importdata和load函数 importdata和load函数 1.引言 在使用matlab将数据导入到工作空间的时候,经常会使用到两个函数,一个是importdata ...
- Matlab内置的矩阵反转函数
发现了两个Matlab内置的矩阵翻转函数: flipud 上下反转 up - down fliplr 左右反转 left - right 来张图像试一下: girl = imread('girl-bo ...
最新文章
- Python组合数据类型之字典类型
- Python 动态变量名定义与调用
- bzoj 2406 矩阵——有源汇上下界可行流
- 5家顶级投资方同台现身,力捧神策数据为哪般?
- Ubuntu 20.04 搜索引擎环境搭建 (PostgreSQL 12.3, Redis 6, ELK[Elasticsearch 7.8, Logstash 7.8, Kibana 7.8])
- rocketmq集群安装部署过程(4.0.0版本)、安装中的常见问题举例
- c语言输入十个英文国名,c语言程式设计 在主函式输入10个字元,用子函式求出共输入几个英文字元,几个数字字元,几个符号%...
- [UE4]性能优化指南(程序向)
- java reader_Java Reader ready()方法与示例
- Mybatis(2)-注解使用-IDEA
- Magento教程 24:如何发送电子报! (Newsletter)
- Java实训项目9:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口
- 充电枪cp信号控制板_比亚迪E5无法交流充电故障检修
- C#winform之自定义按钮形状
- 论文阅读 | Analysis and comparison of MIMO radar waveforms MIMO雷达波形总结 (TDMA, CDMA, DDMA, FDMA等)
- 推荐几个短网址赚钱站
- linux 交换机实例,华为路由器和交换机实例配置
- 【游戏客户端】实现刮刮乐效果
- 景观智慧路灯:基于景观智慧灯杆的浙江嘉兴智慧旅游景区项目分享
- 失、思与诗-给那个在地坛里玩耍的孩子
热门文章
- jquery插件开发;(function ( $, window, document, undefined ){}(jQuery, window,document)分析
- 线程安全的单例模式的几种实现方法分享
- 使用GruntJS构建Web程序 (1)
- 总结sqlserver数据库性能优化相关的注意事项
- Eclipse插件使用links目录的用法
- 基于子类的动态代理:
- 剑指offer六十一之序列化二叉树(待补充)
- linux 防火墙iptables简明教程
- Java Socket入门实例
- matlab结构阵列设计,ROM阵列及其版图结构的制作方法