主要内容

多重速率的过滤MATLAB金宝app

多重速率的过滤器是数字滤波器,采样输入信号的采样率变化。率转换的过程涉及到一个upsampler, downsampler和低通滤波器来处理信号。

最基本的多重速率的过滤器插入器,杀害多人者,noninteger采样率转换器。这些过滤器是构建的组件更先进的过滤技术,如信道器通道合成器,双通道滤波器,正交镜像滤波器(QMF)。你可以在MATLAB设计这些过滤器®和仿真软金宝app件®使用designMultirateFIR函数。

designMultirateFIR函数自动设计抗混叠滤波器根据您指定的速度转换因子。输入到designMultirateFIR函数插值因子和大量毁灭的因素。可选地,您可以提供half-polyphase的长度或宽度和阻带衰减过渡。设计一个杀害多人者,将插值因子设置为1。类似地,为了设计一个插入器,设置大量毁灭因素1。

在MATLAB中实现多重速率的过滤器,使用返回的系数designMultirateFIR函数作为输入dsp.FIRDecimator,dsp.FIRInterpolator,dsp.FIRRateConverter系统对象。

b = designMultirateFIR (1、4);firDecim = dsp.FIRDecimator (4 b)
firDecim = dsp。FIRDecimator属性:DecimationFactor: 4 NumeratorSource:“财产”分子:[0 1.9352 -2.2355 -5.2794 -5.0269 e-05 e-05 e-05 0 1.0256 e-04 e-04…]结构:直接形成的

此外,您可以设置SystemObject国旗的designMultirateFIR函数真正的。功能设计和自动创建适当的速度转换对象。

firDecim = designMultirateFIR (1, 4, SystemObject = true)
firDecim = dsp。FIRDecimator属性:DecimationFactor: 4 NumeratorSource:“财产”分子:[0 1.9352 -2.2355 -5.2794 -5.0269 e-05 e-05 e-05 0 1.0256 e-04 e-04…]结构:直接形成的

在仿真金宝app软件中,计算这些系数使用designMultirateFIR功能在默认汽车模式的冷杉大量毁灭,冷杉插值,冷杉率转换块。您还可以指定这些系数作为参数或他们穿过一个输入端口。

这些例子展示了如何实现一个在MATLAB和Simulink冷杉杀害多人者。金宝app可以将此工作流应用到一个冷杉插入器和冷杉率转换器。

在MATLAB中实现冷杉杀害多人者

实现一个冷杉杀害多人者,你必须首先设计使用designMultirateFIR函数。指定感兴趣的大量毁灭因素(通常大于1)和一个插值系数等于1。您可以使用默认half-polyphase长度12和默认的阻带衰减的80分贝。另外,您还可以指定half-polyphase长度,过渡宽度,和阻带衰减值。

设计一个冷杉杀害多人者大量毁灭因子设置为3和half-polyphase长度设置为14。使用默认的80分贝的阻带衰减。

b = designMultirateFIR (1、3、14);

提供的系数向量b作为输入dsp.FIRDecimator系统对象™。

firDecim = dsp.FIRDecimator (3 b);fvtool (firDecim)

图1图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含归一化频率(空白乘以πr d / s m p l e), ylabel级(dB)包含一个类型的对象。

默认情况下,fvtool函数显示了级响应。浏览过滤可视化工具栏看到相位响应,脉冲响应、群延迟和其他过滤分析信息。

过滤器的正弦波输入使用firDecim对象。正弦波的频率在1000赫兹和3000赫兹。噪声是零均值的高斯白噪声的标准差1 e-5。摧毁的输出采样率作为输入的三分之一。初始化两个简介对象,一个用于输入,另一个用于输出。

f1 = 1000;f2 = 3000;Fs = 8000;源= dsp.SineWave(频率= (f1、f2) SampleRate = Fs,SamplesPerFrame = 1026);specanainput =简介(SampleRate = Fs,PlotAsTwoSidedSpectrum = false,方法=“韦尔奇”,ShowLegend = true, YLimits = 40 [-120],Title =“噪声输入信号”,ChannelNames = {嘈杂的输入的});specanaoutput =简介(SampleRate = Fs / 3,PlotAsTwoSidedSpectrum = false,方法=“韦尔奇”,ShowLegend = true, YLimits = 40 [-120],Title =“过滤输出”,ChannelNames = {“过滤输出”});

流的输入和过滤处理循环。

Iter = 1:1000输入=(源(),2)总和;noisyInput =输入+ (10 ^ 5)* randn (1026 1);输出= firDecim (noisyInput);specanainput (noisyInput) specanaoutput(输出)结束

输入有两个高峰:一个1000 Hz,另一个在3000赫兹。滤波器具有低通滤波器的通带频率响应 0 3 π rad /样品。采样率为8000 Hz,值是一个通带频率1200赫兹。在1000赫兹的基调是非衰减的因为它落在滤波器的通带。在3000赫兹的基调是过滤掉。

类似地,您可以设计一个冷杉插入器和冷杉率转换器通过提供适当的输入designMultirateFIR函数。实现过滤器,通过设计系数的dsp.FIRInterpolatordsp.FIRRateConverter对象。

在仿真软件实现一个冷杉杀害多人者金宝app

你可以设计和实现的冷杉多重速率的过滤器模型™使用冷杉大批杀害,冷杉插值,冷杉率转换模块。金宝app

打开模型“multiratefiltering.slx”

输入信号是一个嘈杂的正弦信号,两个频率:一个1000 Hz,另一个在3000赫兹。信号的采样率是8000赫兹样品每帧正弦波模块的参数设置为1026。噪声的信号是一个零均值和方差的高斯白噪声1平台以及。

系数来源冷杉大批杀害块的参数设置对话框参数,冷杉滤波器系数参数设置为designMultirateFIR (1、2)。的函数使用默认half-polyphase长度12和默认的阻带衰减的80分贝。级响应的滤波器设计看起来如下:

运行模型。

第一个频谱分析仪显示了原始信号的频谱,而第二个频谱分析仪显示摧毁的光谱信号。因为率的选择参数设置为冷杉大量毁灭的块允许多重速率的处理,信号的帧大小是相同的输入和输出的冷杉大量毁灭,而采样率的变化。这种模式的更多细节,请参阅率的帧频转换的调整

采样率转换

采样率转换的转换是一个过程的采样率信号的采样率采样率。多级过滤器减少的数量计算参与采样率转换。执行高效的多级速度转换,使用dsp.SampleRateConverter对象:

  1. 接受输入采样率和输出采样率作为输入。

  2. 分区的设计问题转化为优化阶段。

  3. 设计不同阶段所需的所有过滤器。

  4. 实现了设计。

混叠的设计确保不发生在中间步骤。

在这个例子中,改变一个嘈杂的正弦波信号的采样率从输入192千赫至44.1千赫的输出率。

初始化一个采样率转换器对象。

SRC = dsp.SampleRateConverter;

显示过滤信息。

信息(SRC)
ans = '整体插值系数:147整体力量的因素:640数量的过滤器:3次乘法/输入样本:27.667188的系数:8631过滤器:过滤器1:dsp。FIRDecimator——大量毁灭因素:2过滤器2:dsp。FIRDecimator——大量毁灭因素:2过滤器3:dsp。FIRRateConverter -插值因素:147 -大量毁灭因素:160

SRC三级过滤:两个冷杉杀害多人者随后冷杉率转换器。

初始化正弦波来源。正弦波有两个色调:一个在2000赫兹,另在5000赫兹。

源= dsp。SineWave(频率= (2000 5000),SampleRate = 192000,SamplesPerFrame = 1280);

初始化两个频谱分析仪,一个输入信号的频谱和其他的光谱转换后的输出信号。的“PlotAsTwoSidedSpectrum”财产的简介对象设置为“假”所示的光谱,表明在区间[0是片面的Fs/ 2)Fs信号的采样率。

傅氏国际= SRC.InputSampleRate;Fsout = SRC.OutputSampleRate;specanainput =简介(SampleRate =国际,PlotAsTwoSidedSpectrum = false,方法=“韦尔奇”,ShowLegend = true, YLimits = 50 [-120],Title =输入信号的,ChannelNames = {“输入”});specanaoutput =简介(SampleRate = Fsout,PlotAsTwoSidedSpectrum = false,方法=“韦尔奇”,ShowLegend = true, YLimits = 50 [-120],Title =率转换输出的,ChannelNames = {率转换输出的});

流输入信号和信号的采样率转换使用采样率转换器。查看输入和输出信号的光谱的两个频谱分析仪。

频谱分析仪显示频谱范围在[0Fs/ 2)。显示输入的频谱分析仪,Fs/ 2是192000/2。频谱分析仪显示输出,Fs/ 2是44100/2。因此,信号的采样率变化从192千赫至44.1千赫。

Iter输入= = 1:1(源(),2)总和;noisyinput =输入+ (10 ^ 5)* randn (1280 1);输出= SRC (noisyinput);specanainput (noisyinput);specanaoutput(输出);结束

引用

[1]哈里斯,弗雷德。多重速率的通信系统的信号处理。普伦蒂斯霍尔PTR, 2004年。

相关的话题