1.全通系统实现相位均衡

本文从逆向角度出发,基于搜索最优化策略对全通系统相位平衡问题进行了初步研究。主要思想:在频域中对它在单位圆上抽样N个点,按照所要求的频率特性,找出一个全通滤波器,使其满足一定的相位特性。最后利用最优化(例如遗传算法)策略进行迭代,找到满足要求的最优解。
适用于低通系统相位补偿的二阶全通滤波系统如下:

2.设计满足特定相位条件的全通滤波器

2.1 产生实验信号,组份0.01 0.02(保留) 0.6、0.7(低通滤波滤掉)

2.2 设计低通滤波器,进行滤波,并观察滤波后的信号是否发生了相位失真

低通滤波器作用下,高频成分被过滤掉,仅剩下低频成分0.01、0.02。
我们再看看滤波后,幅值和相位发生了什么变化?
我们发现,幅度图像有点变形!转过来看一下相位图像!!!问题出现了,发生了相位失真!就是说,经过低通滤波时0.01和0.02两个频率成分“相对步调”不一致,这就是群延时的意义,说明该滤波器的群延时不是常数。

3.构造特定全通滤波器相位,并利用遗传算法进行参数搜索设计

经过全通滤波器后,发现相位失真被补偿回来了!!!0.01/0.02步调又一致了。
最后,我们分析一下,相位补偿过程中,我们做的工作:
这张图才是相位均衡的核心,黑丝线条是低通巴特沃兹滤波器引进的非线性相位;蓝色曲线是我们利用全通滤波器构造的非线性相位,两者通过系统级联完成了线性相位的设计!

3.MATLAB源代码分享

%% *************************************************************%%
%All Rights Reserved @Shenchunxu
%Data:20161130  Tsinghua Univ.%全通滤波系统实现零相位均衡
%%***********************************************************************%%
clc;clear all;close all;
%%  生成模拟模拟信号
Fs = ;
t = ;
%归一化频率设计0.01 0.02 0.06  0.07
y = ;
yreal = ;
%% 设计一个低通滤波器*********************************************%%
fp=15/500;%通带截止频率 0.03
fs=40/500;%阻带截止频率 0.06
wp=3;     %通带最大衰减
ws=30;    %阻带最大衰减
[n,fc]=buttord(fp,fs,wp,ws);
[b1,a1]=butter(n,fc);
[h1,w]=freqz(b1,a1);
LP_phase = unwrap(angle(h1))*180/pi;  %低通滤波器的相位函数
%% 设计全通滤波器 进行相位补偿 ************************************%%
Ideal_Phase = zeros(512,1);
Y0 = min(min(LP_phase));
for i=1:1:512Ideal_Phase(i,1) = (Y0*i)/512;
end
%全通滤波器需要补偿的相位
AP_Phase = zeros(512,1);
for j=1:1:512 AP_Phase(j,1) = Ideal_Phase(j,1) - LP_phase(j,1);
end
%% 利用遗传算法优化设计二阶全通滤波器 ******************************%%
%滤波器原型为:H(z)=(b+a*z^(-1)+z^(-2))/(1+a*z^(-1)+b*z^(-2));
%目标函数:minimum -> delt = sum(abs(AP_Phase-AP_Phase_temp));
%动态范围:a->[-100,100]  b->[-100,100]
options = gaoptimset();
options.Generations = 20000; %最大迭代数设为20000
UP = [100,100]; LOW = [-100,-100];%变量上下限
[X,FVAL] = ga(@myfit, 2 ,[], [],[],[],LOW,UP,[],options);
[h3,w]=freqz([X(2),X(1),1],[1,X(1),X(2)]);
AP_Phase_Lab = unwrap(angle(h3))*180/pi;  %低通滤波器的相位函数
%% 相位校正后的效果 **********************************************%%
plot(w/pi,LP_phase+AP_Phase_Lab);

IIR+全通滤波器实现相位平衡_matlab仿真相关推荐

  1. IIR+全通滤波器级联实现系统零相位相移_matlab仿真

    1.前言 前面详细的介绍了如何通过优化的思想逆向设计符合要求的全通相位平衡系统!实际上,线性相位的要求要比零相位相移的要求苛刻的多. 晚上和好友解释了一下如何利用优化思想实现线性相位,好友感觉很难实现 ...

  2. 滤波器基础04——全通滤波器

    滤波器基础系列博客,传送门: 滤波器基础01--滤波器的种类与特性 滤波器基础02--滤波器的传递函数与性能参数 滤波器基础03--Sallen-Key滤波器.多反馈滤波器与Bainter陷波器 滤波 ...

  3. 一文读懂滤波器的线性相位,全通滤波器,群延迟

    转载自https://blog.csdn.net/s09094031/article/details/83755663 一文读懂滤波器的线性相位,全通滤波器,群延迟 1. 延迟 2. 全通滤波器 3. ...

  4. 全通滤波器 相位校正 matlab,一文读懂滤波器的线性相位,全通滤波器,群延迟...

    延迟和 全通滤波器,来解释这些概念. 先说结论: 线性相位能保证信号中各频率成分的相对相位关系不改变. 通俗解释是: 信号经过线性相位滤波器后,各个频率分量的延时时间是一样的. 1. 延迟 举一个最简 ...

  5. 1.7 全通滤波器与最小相位系统

    1.7 全通滤波器与最小相位系统

  6. 【梳状滤波器:浅析其基本概念、功能特点及与全通、最小相位滤波器的区别】

    文章目录 梳状滤波器 一.基本概念 二.分类 三.功能特点 四.与全通.最小相位滤波器的区别 此文为博主数字信号处理小作业. 梳状滤波器 一.基本概念 梳状滤波器,是一种由延时.加法器.减法器.带通滤 ...

  7. 离散系统模型的辨识matlab程序,基于MATLAB的系统辨识及离散时间全通系统

    基于 !"#$"% 的系统辨识及离散时间全通系统! 施秀萍 王嘉梅 虎雁华 (云南民族学院物理与电子电气信息工程学院,昆明,&'(()*) 摘 要 基于 !"#$ ...

  8. 低通、高通、带通、阻通滤波器

    1.低通滤波器 低通滤波器,Low Pass Filter,缩写LPF.它的特性是允许频率低于某一频率的信号通过,衰减高于此频率的信号.低频滤波器的截止频率fc对应以dB为单位的幅频特性曲线上-3dB ...

  9. Matlab下 IIR 滤波器实现(Simulink仿真和C语言实现)

    Matlab下 IIR 滤波器实现(Simulink仿真和C语言实现)_Terrys0518的专栏-CSDN博客

最新文章

  1. 多线程的使用——模拟线程池的实现(2015-12-02 00:14:59)
  2. HDU 1010 Tempter of the Bone heuristic 修剪
  3. 遮罩窗体弹出登录页面代码实现
  4. c语言怎么实现模块化vc,原创:在C语言中大概实现VC++中的CArray部分功能的两种方法...
  5. win7无法访问局域网内电脑_win7系统局域网无法访问原因 win7局域网无法访问解决方法【图文】...
  6. 没有光芯片,何谈 5G 与 AI !
  7. Oracle、 Mysql 、 SQLserver 分页查询
  8. jqgrid点击搜索无法重置参数问题
  9. Centos 安装 Oracle Java JDK
  10. linux命令学习_实验楼(一)
  11. 创建项目连接错误_EF6连接Postgresql数据库
  12. 管理大量定时任务,如果高效触发超时?
  13. 数据仓库之元数据管理
  14. blockquote缩进标签
  15. “Bluetooth keeps stopping“
  16. 且初土豆泥、everbab棉花糖粉扑、好望水气泡饮、王小卤虎皮凤爪、PWU留香珠…月销千万的黑马爆品如何玩转新消费营销?
  17. shell 编程 入门到实战详解
  18. 【总结】DeepCTR如何构建模型
  19. shell常用语法之if [ $? -ne 0 ]
  20. wazuh-monitord agent连接监控

热门文章

  1. hdu 3486(RMQ+高效枚举)
  2. 《深入理解计算机系统(英文版.第2版)》
  3. Java笔记(七)HashMap和HashSet
  4. [bzoj4823][洛谷P3756][Cqoi2017]老C的方块
  5. IE报vuex requires a Promise polyfill in this browser问题解决
  6. 针对监控摄像机(海康、大华等)进行手动录像的录像文件播放器功能设计
  7. 数据库自增主键可能产生的问题
  8. 《第一行代码》学习笔记9-活动Activity(7)
  9. Squid 代理服务器 编译源码 伪造HTTP_X_FORWARDED_FOR 请求头
  10. Matlab 基于svm的图像物体分类