多相滤波器MATLAB仿真---抽取&插值

这篇具有很好参考价值的文章主要介绍了多相滤波器MATLAB仿真---抽取&插值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

多相滤波器MATLAB仿真---抽取&插值

目录

前言

一、什么是多相滤波器?

二、抽取

1.不考虑滤波器延时下的抽取

2.考虑滤波器延时下的抽取

三、插值

参考文献

总结


前言

   语音信号多相滤波器是我上学期末做的一个课设,过了许久,在此仅仅简单记录一下,以特定的D值和I值展示一下操作过程,不贴出通用函数,希望对正在学习该内容的伙伴有所帮助。本文以工程实现的角度浅谈多相滤波器,由于数字滤波器是有延时效应的,所以在考虑滤波器的延时下,多相滤波器又应该如何操作。

提示:以下是本篇文章正文内容,写文章实属不易,希望能帮助到各位,转载请附上链接。

一、什么是多相滤波器?

         我们知道,在数字信号处理中,对于给定的一个序列,我们可以对它进行整数因子抽取和插值操作。抽取就是把原序列每隔D-1个点抽取一个值,组成一个新的序列。即:

        这个抽取运算由抽取器来完成,对序列进行抽取时序列的频谱会展宽,所以在抽取之前会加一个低通滤波器防止因抽取带来的频谱混叠。

        抽值就是在原序列的每两个点之间补I-1个零,再进行平滑滤波,就能得到一个新的序列。插值即:

        插零由内插器来完成,对序列插值后,频谱会包含高频镜像,所以在插值之后会加一个低通滤波器来消除内插带来的镜像。

        抽取和插值是多速率信号处理系统中两个最基本的运算,但是,这两种运算对速度的要求相当高,这是因为在抽取模型中,低通滤波器位于抽取操作之前,也就是说低通滤波器是在降速之前实现的,而对于插值模型,低通滤波器又位于提速之后。因此,我们可以利用恒等变换(恒等变换公式较多,难得敲,感兴趣的自己百度抽取器与插值器的恒等变换),将低通滤波器的位置变一下,就得到了滤波器的多相结构,它可以提高计算效率,降低对处理速度的要求。

        多相滤波器分为两种。抽取器的多相滤波结构如图1所示。插值器的多相滤波结构如图2所示。

多相滤波器MATLAB仿真---抽取&插值
图1 抽取器的多相滤波结构
多相滤波器MATLAB仿真---抽取&插值
图2 插值器的多相滤波结构

二、抽取

1.不考虑滤波器延时下的抽取

        以D=3为例,根据图1(b)编写程序如下:

clc;
clear all;
close all;
a=1:6;
h=1:12;
D=3;
y=conv(a,h)
y_chouqu1=y(1:D:end)
h1=h(1:D:end);
h2=h(2:D:end);
h3=h(3:D:end);
a=a;%第一次延时为0
a1=a(1:D:end);%抽取
y1=conv(a1,h1)%滤波
a=[0 a];%延时
a2=a(1:D:end);%抽取
y2=conv(a2,h2)%滤波
a=[0 a];%延时
a3=a(1:D:end);%抽取
y3=conv(a3,h3)%滤波
ychouqu2=[y1,0]+y2+y3%相加

        运行程序得到结果如图3所示。可见直接卷积抽取后的结果和多相滤波结构抽取下的结果是一样的。

多相滤波器MATLAB仿真---抽取&插值
图3 不考虑延时多相滤波抽取结果

2.考虑滤波器延时下的抽取

   实际中我们经常滤波是用filter函数,用filter函数滤波后的输出序列和输入序列长度是相等的。N阶线性相位滤波器的延时是(N-1)/2,考虑滤波器的延时不能直接用filter函数,需采用卷积函数,不过对于卷积的输出结果采取掐头去尾的处理就能消除滤波器的延时效应,这样处理后输出序列与输入序列的长度是一致的。

        以D=3为例,根据图1(b)编写程序如下:

clc;
clear all;
close all;
a=1:6;
h=1:12;
n=length(h);
D=3;
y0=conv(a,h)
y=y0(n/2:end-n/2)%掐头去尾消除延时
y_chouqu1=y(1:D:end)
m=1;
h=[zeros(1,m) h zeros(1,D-m)];
h1=h(1:D:end);
h2=h(2:D:end);
h3=h(3:D:end);
a=a;%第一次延时为0
a1=a(1:D:end);%抽取
y1=conv(a1,h1)%滤波
a=[0 a];%延时
a2=a(1:D:end);%抽取
y2=conv(a2,h2)%滤波
a=[0 a];%延时
a3=a(1:D:end);%抽取
y3=conv(a3,h3)%滤波
ychouqu2=[y1,0]+y2+y3;%相加
ychouqu2=ychouqu2(3:4)

        运行程序得到结果如图4所示。可见直接卷积抽取后的结果和多相滤波结构抽取下的结果是一样的。

多相滤波器MATLAB仿真---抽取&插值
图4 考虑延时多相滤波抽取结果

三、插值

        以I=3为例,根据图2(b)编写程序如下:

clc;
clear all;
close all;
a=1:3
h=1:9;
I=3;
b=zeros(1,length(a)*I-I+1);
%%插值滤波
b(1:I:end)=a
ychazhi1=conv(b,h)
%%插值器多相滤波
h1=h(1:I:end);
h2=h(2:I:end);
h3=h(3:I:end);
y1=conv(a,h1)
y2=conv(a,h2)
y3=conv(a,h3)
ychazhi2=zeros(1,length(a)*I-I+length(h));
ychazhi2(1:I:end)=y1;
ychazhi2(2:I:end)=y2;
ychazhi2(3:I:end)=y3

         运行程序得到结果如图5所示。可见插值后直接卷积的结果和插值多相滤波结构下的结果是一样的。

多相滤波器MATLAB仿真---抽取&插值
图5 插值器的多相滤波结构仿真

参考文献

  1. 朱冰莲,方敏.数字信号处理(第二版)[M].北京:电子工业出版社,2014.
  2. 十年老鸟.深入浅出理解多相滤波器[DB/OL].http://t.csdn.cn/gtwMg,2021.

总结

        以上就是今天要讲的内容,本文仅仅以特定的抽取因子和插值因子简单介绍了抽取器与插值器的多相滤波结构的操作方法,实际应用中还可以封装成函数,就交由读者自己编写了。文章来源地址https://www.toymoban.com/news/detail-429402.html

到了这里,关于多相滤波器MATLAB仿真---抽取&插值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 滤波器之matlab与vivado的联合仿真

    一、目录     1、matlab产生滤波器     2、matlab进行仿真     3、搭建vivado测试电路     4、vivado仿真 二、matlab产生滤波器     本文采用FIR低通滤波器,在命令行输入fdatool进入滤波器配置页面,如下配置                   导出滤波器函数              设置名字为filter

    2024年02月09日
    浏览(53)
  • 信号处理之FIR数字滤波器(Matlab仿真)

            数字滤波器的作用是滤除不感兴趣的信号,留下想要的信号。数字滤波器可分为无限脉冲响应(IIR)数字滤波器、有限脉冲响应(FIR)数字滤波器两种,两者各有优缺点,其中FIR数字滤波器因其具有良好的线性相位特性受到广泛应用,线性相位是指信号中各频率成分的相对

    2024年02月03日
    浏览(52)
  • 基于正交滤波器组的语音DPCM编解码算法matlab仿真

    目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程           matlab2022a        在语音信号处理中,一种常见的编解码技术是差分脉冲编码调制(DPCM)。DPCM是一种无损或有损压缩技术,通过利用信号中的冗余性来减少数据传

    2024年02月15日
    浏览(50)
  • 【MATLAB源码-第108期】基于matlab的OFDM-OQAM系统仿真,包含PHYDYAS滤波器模块和PNN结构,输出误码率曲线。

    OFDM/OQAM(正交频分复用/正交四分之一幅度调制)是一种高效的无线通信系统,采用PHYDYAS(物理层动态接入)滤波器来优化性能。这种系统的设计主要目的是提高频谱效率、减少干扰,特别适用于多径衰落环境。下面将更详细地描述其主要组成部分: 1. **OFDM/OQAM技术简介**:

    2024年01月18日
    浏览(39)
  • 二阶高通有源滤波器设计与仿真测试

       二阶高通有源滤波器的电路如图1所示,阻容网络C 1 、R 1 和C 2 、R 2 组成二阶高通滤波器,R f 和R 3 确定电路放大倍数。 图1 压控电压源法二阶高通有源滤波器原理图    二阶高通有源滤波器的设计步骤与低通的设计步骤相同,即根据设计技术要求选择适当的f0、ξ及K

    2024年02月12日
    浏览(38)
  • FIR滤波器简述及FPGA仿真验证

    数字滤波器的设计,本项目做的数字滤波器准确来说是FIR滤波器。 FIR滤波器(有限冲激响应滤波器),与另一种基本类型的数字滤波器——IIR滤波器(无限冲击响应滤波器)相对应,其实就是将所输入的信号都看成是离散的,用离散的冲击信号代替实际的信号。对于FIR滤波器

    2024年02月09日
    浏览(51)
  • 【状态估计】粒子滤波器、Σ点滤波器和扩展/线性卡尔曼滤波器研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 扩展卡尔曼滤波 2.2 线性卡尔曼滤波 

    2024年02月09日
    浏览(43)
  • 图像处理之理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器的matlab简单实现

    一、前言 高通滤波器的功能是让高频率通过而滤掉或衰减低频,其作用是 使图像得到锐化处理,突出图像的边界 。经理想高频滤波后的图像把信息丰富的低频去掉了,丢失了许多必要的信息**。一般情况下,高通滤波对噪声没有任何抑制作用**,若简单的使用高通滤波,图像质

    2023年04月25日
    浏览(45)
  • 二阶带通有源滤波器设计与仿真测试

       二阶带通有源滤波器其功能是允许一定范围内的频率信号通过,其它信号被阻断。可以用低通滤波器和高通滤波器并联方式来实现;也可以用压控电压源法和无限增益多路反馈型电路实现,实际应用中以后者居多。     带通滤波器一般采用无限增益多路反馈型二阶有源

    2024年01月23日
    浏览(66)
  • 二阶低通有源滤波器设计与仿真测试

    传感器输出的测量信号中,除了有用的信息外,往往还包含许多噪声以及其他与被测量无关的信号,从而影响测量精度。这冲噪声般随机性很强,难于从时域中直分离出来,但限于其产生的物理机理、噪声功率是有限的,并按一定规律分布于频域中某个特定频带。因此,可以

    2024年02月03日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包