designShelvingEQ

设计架子均衡器

描述

[一个] = designShelvingEQ(获得FC设计一个具有指定增益、斜率和截止频率的低档均衡器,FC。均衡器返回为级联的二阶部分(SOS)IIR滤波器。

[一个] = designShelvingEQ(获得FC类型将设计类型指定为低搁置或高搁置均衡器。

[一个] = designShelvingEQ(___名称,值使用一个或多个指定的选择名称,值对参数。

例子

全部收缩

设计使用三个二阶IIR低架均衡器designShelvingEQ。三个搁置均衡器使用三个单独的坡度规格。

指定三个搁置均衡器采样频率,峰值增益,斜率系数,并且归一化截止频率。采样频率是单位为Hz。峰值增益以dB为单位。

FS = 44.1e3;增益= 5;SLOPE1 = 0.5;SLOPE2 = 0.75;SLOPE3 = 1;FC = 1000 /(FS / 2);

使用指定的参数设计滤波器系数。

[B1,A1] = designShelvingEQ(增益,SLOPE1,FC,“取向”“行”);(B2 A2) = designShelvingEQ(增益,slope2, Fc,“取向”“行”);(B3, A3) = designShelvingEQ(增益,slope3, Fc,“取向”“行”);

可视化你的滤波器设计。

fvtool (...dsp.BiquadFilter([B1,A1]),...dsp.BiquadFilter([B2,A2]),...dsp.BiquadFilter ((B3, A3)),...“Fs”,FS,...“FrequencyScale”“日志”);传奇(“斜率= 0.5”...“斜率= 0.75”...“斜率= 1”);

创建音频文件阅读器和音频设备的作家的对象。使用阅读器的采样率作为作家的采样率。

框架尺寸= 256;的FileReader = dsp.AudioFileReader(“RockGuitar-16-44p1立体声-72secs.wav”“SamplesPerFrame”,框架尺寸);deviceWriter = audioDeviceWriter(“SampleRate”,fileReader.SampleRate);

通过设备播放的音频信号。

数= 0;计数<2500音频=步骤(的FileReader);玩(deviceWriter,音频);计数=计数+ 1;结束重置(的FileReader)

设计一个二阶区段(SOS)低架均衡器。

增益= 10;斜率= 3;FC = 0.025;[B,A] = designShelvingEQ(增益,斜率,FC);

设想你的架子过滤器设计。

SOS = [B '[1,A']];fvtool(dsp.BiquadFilter(“SOSMatrix”SOS),...“Fs”fileReader.SampleRate,...“FrequencyScale”“日志”);

创建一个biquad过滤器对象。

myFilter = dsp.BiquadFilter (...“SOSMatrixSource”“输入端口”...“ScaleValuesInputPort”、假);

创建一个频谱分析仪的对象以可视化的原始音频信号,并通过你的低架均衡传递的音频信号。

范围= dsp.SpectrumAnalyzer(...“SampleRate”fileReader.SampleRate,...“PlotAsTwoSidedSpectrum”假的,...“FrequencyScale”“日志”...“FrequencyResolutionMethod”“WindowLength”...“WindowLength”,框架尺寸,...“标题”“原件及均衡的信号”...“ShowLegend”,真正,...“ChannelNames”,{原始信号的“均衡信号”});

播放均衡的音频信号和可视化的原始和均衡的光谱。

数= 0;计数<2500 originalSignal =的FileReader();equalizedSignal = myFilter(originalSignal,B,A);范围([originalSignal(:,1),equalizedSignal(:,1)]);deviceWriter(equalizedSignal);计数=计数+ 1;结束

作为一种最佳实践,一旦完成就释放对象。

发行版(fileReader)发布(deviceWriter)发布(范围)

设计使用三个二阶IIR高架子均衡器designShelvingEQ。三个搁置均衡器使用三个单独的增益规格。

指定三个搁置均衡器采样频率,峰值增益,斜率系数,并且归一化截止频率。采样频率是单位为Hz。峰值增益以dB为单位。

FS = 44.1e3;GAIN1 = -6;GAIN2 = 6;增益3 = 12;斜率= 0.8;FC = 18000 /(FS / 2);

使用指定的参数设计滤波器系数。

(B1, A1) = designShelvingEQ (gain1、边坡、Fc、“嗨”“取向”“行”);[B2,A2] = designShelvingEQ(GAIN2,坡度,FC,“嗨”“取向”“行”);(B3, A3) = designShelvingEQ (gain3、边坡、Fc、“嗨”“取向”“行”);

可视化你的滤波器设计。

fvtool([B1,A1; [1 0 0 1 0 0]],...[B2,A2;[1 0 0 1 0 0],...[B3,A3;[1 0 0 1 0 0]],...“Fs”Fs);传奇("增益= - 6db "...“增益=6分贝”...“增益= 12 dB” 时...“位置”“西北”

输入参数

全部收缩

峰值增益(dB),指定为-12到12范围内的实标量。

数据类型:||INT8|int16|int32|Int64的|UINT8|uint16|UINT32|UINT64

斜率系数,指定为范围为0到5的实标量。

数据类型:||INT8|int16|int32|Int64的|UINT8|uint16|UINT32|UINT64

归一化截止频率,指定为0到1范围内的实标量,其中1对应于奈奎斯特频率(rad/sample)。

标准化截止频率被实现为半架式滤波器增益,或获得/ 2分贝。

数据类型:||INT8|int16|int32|Int64的|UINT8|uint16|UINT32|UINT64

滤波器类型,指定为“罗”“嗨”

  • “罗”- 低倾斜均衡器

  • “嗨”- 高倾斜均衡器

数据类型:字符|

名称 - 值对参数

指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和价值为对应值。名称必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“定位”,“行”

返回滤波器系数的方向,指定为逗号分隔对所组成的“定位”“列”“行”

数据类型:字符|

输出参数

全部收缩

分子滤波系数,返回为向量。的大小和解释取决于取向

  • 如果“定位”被设置为“列”, 然后作为三个元素的列向量返回。

  • 如果“定位”被设置为“行”, 然后作为三个元素的行向量返回。

设计的二阶IIR滤波器的分母滤波器系数,作为向量返回。的大小和解释一个取决于取向

  • 如果“定位”被设置为“列”, 然后一个返回为一个两元素的列向量。一个不包括领先的统一系数。

  • 如果“定位”被设置为“行”, 然后一个作为三个元素的行向量返回。

参考文献

[1]Bristow-Johnson,罗伯特。“烹饪书公式音频EQ Biquad滤波器系数。”一个ccessed March 02, 2016. http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt.

扩展功能

C / C ++代码生成
使用MATLAB®Coder™生成C和c++代码。

介绍了在R2016a