matlab双线性z变换法设计数字低通滤波器

  • 双线性z变换法利用了正切函数的非线性特点,将整个jΩ轴压缩到了单位圆的一周上。

    1. 低通:

    clear;
    close all;
    clc;

    fp=100;fs=300;Fs=1000;
    rp=3;rs=20;
    % 3db,20db
    wp=2*pi*fp/Fs;% 2Pi - Fs —> 100hz - 0.1Fs*2Pi=0.2Pi
    ws=2*pi*fs/Fs;
    Fs=Fs/Fs; % let Fs=1
    % Firstly to finish frequency prewarping ;
    wap=tan(wp/2);was=tan(ws/2); %求Ωp,Ωs
    [n,wn]=buttord(wap,was,rp,rs,’s’) %n:滤波器阶数, wn:buttord算出的自然截至频率,一般>wp
    % Note: ‘s’!
    [z,p,k]=buttap(n); %极点,零点,增益
    [bp,ap]=zp2tf(z,p,k) %G(p)的分子,分母多项式系数 G(p)=1/p^2+√(n)*p+1
    [bs,as]=lp2lp(bp,ap,wap) %G(s)=G(p)|p=s/Ωp
    % Note: s=(2/Ts)(z-1)/(z+1);Ts=1,that is 2fs=1,fs=0.5;
    [bz,az]=bilinear(bs,as,Fs/2) %H(z) = G(s)|s=z-1/z+1
    [h,w]=freqz(bz,az,256,Fs*1000);
    plot(w,abs(h));grid on;

    1. 带通

    clear;
    close all;
    clc;

    fp=[300 400];fs=[200 500];
    rp=3;rs=18;
    Fs=2000;
    wp=fp*2*pi/Fs;
    ws=fs*2*pi/Fs;
    %
    % Firstly to finish frequency prewarping;
    wap=2*Fs*tan(wp./2)
    was=2*Fs*tan(ws./2);
    [n,wn]=buttord(wap,was,rp,rs,’s’);
    % Note: ‘s’!
    [z,p,k]=buttap(n);
    [bp,ap]=zp2tf(z,p,k) %低通转移函数G(p)
    %
    bw=wap(2)-wap(1) %通带带宽
    w0=sqrt(wap(1)*wap(2)) %通带中心频率
    [bs,as]=lp2bp(bp,ap,w0,bw) %H(s)=G(p)|s^2+wp(1)wp(2) / s(wp(2)-wp(1))
    %{
    [h1,w1]=freqs(bp,ap);
    figure(1);
    plot(w1,abs(h1));grid;
    ylabel(’ lowpass G(p)’)
    %}
    w2=[0:Fs/2-1]*2*pi;
    h2=freqs(bs,as,w2);
    % Note: z=(2/Ts)(z-1)/(z+1);
    [bz1,az1]=bilinear(bs,as,Fs) % H(z) = G(p)|p=(z-1)^2+w0(z+1)^2 / bw(z^2-1)
    [h3,w3]=freqz(bz1,az1,1000,Fs);
    figure();
    plot(w2/2/pi,20*log10(abs(h2)),w3,20*log10(abs(h3)));grid;
    ylabel(‘Bandpass AF and DF’)
    xlabel(’ Hz’)

matlab双线性z变换法设计数字低通滤波器相关推荐

  1. matlab求双线性变换法,[Matlab]双线性变换法设计数字低通滤波器

    测试代码: %%****bin_lp.m*******************%% %% 使用双线性变换法设计低通滤波器 %% 2018年6月13日 14:27:37 %% author:Alimy ...

  2. [Matlab]双线性变换法设计数字低通滤波器

    测试代码: %%****bin_lp.m*******************%% %% 使用双线性变换法设计低通滤波器 %% 2018年6月13日 14:27:37 %% author:Alimyc ...

  3. matlab中低通滤波器,设计数字低通滤波器(用matlab实现)

    DSP设计滤波器报告 姓名:张胜男 班级:07级电信(1)班 学号: 一低通滤波器的设计 (一)实验目的:掌握IIR数字低通滤波器的设计方法. (二)实验原理: 1.滤波器的分类 滤波器分两大类:经典 ...

  4. matlab窗函数带通滤波器,Matlab结合窗函数法设计数字带通FIR滤波器

    Matlab结合窗函数法设计数字带通FIR滤波器 课程设计任务书学生姓名: 专业班级: 通信工程 指导教师: 工作单位: 信息工程学院 题 目:利用 Matlab 仿真软件系统结合窗函数法设计一个数字 ...

  5. 计算机学院乔丽红,用巴特莱特窗函数法设计数字FIR带通滤波器dsp课程设计.doc...

    课 程 设 计 课程设计名称:数字信号处理课程设计 专 业 班 级 : 电信 学 生 姓 名 : 学 号 : 指 导 教 师 : 乔丽红 课程设计时间: 6.16-6.20 电子信息工程 专业课程设计 ...

  6. matlab求z变换的tat,用matlab求z变换感悟

    如何用matlab实现Z变换 答:h = tf([1 0] , [1 1 1]); zh = c2d(h, 0. 00005,'zoh') [num den] = tfdata(zh, 'v') [z ...

  7. [Matlab]双线性变换法设计数字带通滤波器

    测试代码: %%****bin_bp.m*******************%% %% 使用双线性变换法设计带通滤波器 %% 2018年6月13日 16:30:34 %% author:Alimyc ...

  8. matlab 差分方程z变换,[2018年最新整理]差分方程的Z变换解.ppt

    [2018年最新整理]差分方程的Z变换解 实验24 差分方程的Z变换解 实验目的 学习使用Matlab的符号运算Z变换和反Z变换方法.以及反Z变换中的部分分式展开法.加深对Z变换的理解. 学习用Mat ...

  9. 【 MATLAB 】z 变换中的卷积与解卷积

    关于卷积的博文,之前也写过几篇: [ MATLAB ]conv 函数介绍(卷积和多项式乘法) [ MATLAB ]两个序列的卷积和运算的MATLAB实现(1) [ MATLAB ]两个序列的卷积和运算 ...

最新文章

  1. matplotlib 散点图和折线图画在一起_使用matplotlib.pyplot画折线图
  2. Rosalind: 兔子与递归
  3. 比特币分叉两年记:聊聊当年为什么要分叉?
  4. python和c哪个好学-零基础学C好还是python?
  5. spring cloud教程之使用spring boot创建一个应用
  6. Android细节问题总结(一)
  7. PHP去除换行符的方法小结(PHP_EOL变量的使用)
  8. 前端进阶 -css的弱化与js的强化(11)
  9. 报错:The method xxxof type xxx must override or implement a supertype method
  10. C的无符号数据类型int,short,byte 转为 Java对应的数据long,char,short
  11. 《Python深度学习》第四章的实验结果图汇总
  12. 学一下Unix/C啊
  13. JavaFX技巧20:有很多需要展示的地方吗? 使用画布!
  14. [css] 如何使用CSS3的属性设置模拟边框跟border效果一样?
  15. SqlServer命名规范
  16. 马蜂窝与滴滴联合发起:“旅游+交通”优化旅客出行方案
  17. 简单测试.NET开源的PDF文档生成器QuestPDF
  18. 用python获取某年日历表
  19. java实现捕鱼达人
  20. 江苏赛区|2021年数学建模国赛江苏赛区获奖名单

热门文章

  1. 详解如何将 Android 手机投屏在 Ubuntu 上
  2. 大数据+决策人挖掘+邮件推广+whatapp助手=3个月出50W货值
  3. 【MQ读书笔记之RabbitMQ】RabbitMQ消息队列面试题
  4. Google C++ 编程风格指南:注释
  5. 郑宇:多源数据融合与时空数据挖掘(转载)
  6. BurpSuite pro v2020.1 最新版本,看到这些新功能后我心动了
  7. 血液透析滤过原理的系统性论述
  8. 当前计算机销售排名前10,中国电脑排行榜前十名 联想销量世界前列很是热销
  9. Flask 视图,模板,蓝图.
  10. 高中计算机教案范文,高中数学教案范文精选