<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>magnitude equalisation &#8211; ASN Home</title>
	<atom:link href="https://www.advsolned.com/tag/magnitude-equalisation/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.advsolned.com</link>
	<description>ASN home site</description>
	<lastBuildDate>Fri, 30 Jun 2023 14:58:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>All-pass Peaking/Bell filter</title>
		<link>https://www.advsolned.com/allpass-peaking-bell-filter/</link>
		
		<dc:creator><![CDATA[ASN consultancy team]]></dc:creator>
		<pubDate>Wed, 04 Jul 2018 16:51:51 +0000</pubDate>
				<category><![CDATA[ASN FilterScript]]></category>
		<category><![CDATA[allpass filter]]></category>
		<category><![CDATA[audio filter]]></category>
		<category><![CDATA[bell filter]]></category>
		<category><![CDATA[FIR]]></category>
		<category><![CDATA[magnitude equalisation]]></category>
		<category><![CDATA[peaking filter]]></category>
		<guid isPermaLink="false">http://www.advsolned.com/?p=6010</guid>

					<description><![CDATA[<p>A&#160; Peaking or Bell filter is a type of audio equalisation filter that boosts or attenuates the magnitude of a specified set of frequencies around a centre frequency in order to perform magnitude equalisation. As seen in the plot in the below, the filter gets its name from the shape of the its magnitude spectrum [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.advsolned.com/allpass-peaking-bell-filter/">All-pass Peaking/Bell filter</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">A&nbsp; Peaking or Bell filter is a type of audio equalisation filter that boosts or attenuates the magnitude of a specified set of frequencies around a centre frequency in order to perform magnitude equalisation. As seen in the plot in the below, the filter gets its name from the shape of the its magnitude spectrum (blue line) which resembles a Bell curve.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="http://www.advsolned.com/wp-content/uploads/2018/07/peakbell.png"><img decoding="async" src="https://www.advsolned.com/wp-content/uploads/2018/07/peakbell.png" alt="Peaking filter or Bell filter, a type of audio equalisation filter that boosts or attenuates the magnitude of a specified set of frequencies around a centre frequency in order to perform magnitude equalisation. As seen in the plot in the below, the filter gets its name from the shape of the its magnitude spectrum (blue line) which resembles a Bell curve."/></a></figure>
</div>


<p class="wp-block-paragraph"><em>Frequency response (magnitude shown in blue, phase shown in purple) of a 2nd order Bell filter peaking at 125Hz.</em></p>



<h2 class="wp-block-heading">All-pass filters</h2>



<p class="wp-block-paragraph">Central to the Bell filter is the so called <a href="http://www.advsolned.com/all-pass-filter/">All-pass filter</a>. All-pass filters provide a simple way of altering/improving the phase response of an IIR without affecting its magnitude response. As such, they are commonly referred to as phase equalisers and have found particular use in digital audio applications.</p>



<p class="wp-block-paragraph">A second order all-pass filter is defined as:</p>



<p class="has-text-align-center wp-block-paragraph">\( A(z)=\Large\frac{r^2-2rcos \left( \frac{2\pi f_c}{fs}\right) z^{-1}+z^{-2}}{1-2rcos \left( \frac{2\pi f_c}{fs}\right)z^{-1}+r^2 z^{-2}} \)</p>



<p class="wp-block-paragraph">Notice how the numerator and denominator coefficients are arranged as a <strong>mirror image pair</strong> of one another.&nbsp; The mirror image property is what gives the all-pass filter its desirable property, namely allowing the designer to alter the phase response while keeping the magnitude response constant or flat over the complete frequency spectrum.</p>



<p class="wp-block-paragraph">A Bell filter can be constructed from the \(A(z)\) filter by the following transfer function:</p>



<p class="has-text-align-center wp-block-paragraph">\(H(z)=\Large\frac{(1+K)+A(z)(1-K)}{2}\)</p>



<p class="wp-block-paragraph">After some algebraic simplication, we obtain the transfer function for the Peaking or Bell filter as:</p>



<p class="has-text-align-center wp-block-paragraph">\(H(z)=\Large{\frac{1}{2}}\left[\normalsize{(1+K)} + \underbrace{\Large\frac{k_2 + k_1(1+k_2)z^{-1}+z^{-2}}{1+k_1(1+k_2)z^{-1}+k_2 z^{-2}}}_{all-pass filter}\normalsize{(1-K)} \right] \)</p>


<span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span>



<ul class="wp-block-list">
<li>\(K\) is used to set the gain and sign of the peak</li>



<li>\(k_1\) sets the peak centre frequency</li>



<li>\(k_2\) sets the bandwidth of the peak</li>
</ul>


<span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span>



<h2 class="wp-block-heading">Implementation</h2>



<p class="wp-block-paragraph">A Bell filter may easily be implemented in <span style="color: #0000ff;"><a href="https://www.advsolned.com/asn-filterscript-gsg/">ASN FilterScript</a></span> as follows:</p>



<pre class="brush: java; title: ; notranslate">
ClearH1;  // clear primary filter from cascade
interface BW = {0,2,0.1,0.5}; // filter bandwidth
interface fc = {0, fs/2,fs/100,fs/4}; // peak/notch centre frequency
interface K = {0,3,0.1,0.5}; // gain/sign

Main()

k1=-cos(2*pi*fc/fs);
k2=(1-tan(BW/2))/(1+tan(BW/2));

Pz = {1,k1*(1+k2),k2}; // define denominator coefficients
Qz = {k2,k1*(1+k2),1}; // define numerator coefficients
Num = (Pz*(1+K) + Qz*(1-K))/2;
Den = Pz;
Gain = 1;
</pre>



<p class="wp-block-paragraph">This code may now be used to design a suitable Bell filter, where the exact values of \(K, f_c\) and \(BW\) may be easily found by tweaking the interface variables and seeing the results in real-time, as described below.</p>



<h2 class="wp-block-heading">Designing the filter on the fly</h2>



<p class="wp-block-paragraph">Central to the interactivity of the FilterScript IDE (integrated development environment) are the so called interface variables. An interface variable is simply stated: <em>a scalar input variable that can be used modify a symbolic expression without having to re-compile the code</em> &#8211; allowing designers to <strong>design on the fly</strong> and quickly reach an optimal solution.</p>



<p class="wp-block-paragraph">As seen in the code example above, interface variables must be defined in the initialisation section of the code, and may contain constants (such as, <span style="font-family: courier;">fs</span> and <span style="font-family: courier;">pi</span>) and simple mathematical operators, such as multiply <span style="font-family: courier;">*</span> and <span style="font-family: courier;">/</span> divide. Where, adding functions to an interface variable is not supported.</p>



<p class="wp-block-paragraph">An interface variable is defined as vector expression:</p>



<pre class="brush: java; light: true; title: ; notranslate">interface name = {minimum, maximum, step_size, default_value};</pre>



<p class="wp-block-paragraph">Where, all entries must be real scalars values. Vectors and complex values will not compile.<br>[arve mp4=&#8221;https://www.advsolned.com/wp-content/uploads/2018/07/peakingfilter.mp4&#8243; align=&#8221;right&#8221; loop=&#8221;true&#8221; autoplay=&#8221;true&#8221; nodownload nofullscreen noremoteplayback&#8230; /]</p>



<h3 class="wp-block-heading"><strong>Real-time updates</strong></h3>



<p class="wp-block-paragraph">All interface variables are modified via the interface variable controller GUI. After compiling the code, use the interface variable controller to tweak the interface variables values and see the effects on the transfer function. If testing on live audio, you may stream a loaded audio file and adjust the interface variables in real-time in order to hear the effects of the new settings.</p>


<span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span>



<div class="wp-block-columns is-not-stacked-on-mobile is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure class="wp-block-image size-large"><a href="https://www.advsolned.com/asn_filter_designer/"><img decoding="async" src="https://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox.png" alt="ASN Filter Designer Box"/></a></figure>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<div class="wp-block-buttons is-vertical is-nowrap is-layout-flex wp-container-core-buttons-is-layout-ff19e26b wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link has-vivid-cyan-blue-background-color has-text-color has-background wp-element-button" href="https://www.advsolned.com/request-form-asn-filter-designer-demo/" style="color:#ffffff">Download Demo</a></div>
</div>


<span class="" style="display:block;clear:both;height: 0px;padding-top: 25px;border-top-width:0px;border-bottom-width:0px;"></span>



<div class="wp-block-buttons is-nowrap is-layout-flex wp-container-core-buttons-is-layout-8f761849 wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link has-vivid-cyan-blue-background-color has-text-color has-background wp-element-button" href="https://www.advsolned.com/pricing-and-licencing/" style="color:#ffffff">Pricing Information</a></div>
</div>
</div>
</div>
		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="Like Button"
					data-ulike-id="6010"
					data-ulike-nonce="a48597256f"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_6010"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="+4"></span>			</div></div>
	<p>The post <a rel="nofollow" href="https://www.advsolned.com/allpass-peaking-bell-filter/">All-pass Peaking/Bell filter</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></content:encoded>
					
		
		<enclosure url="https://www.advsolned.com/wp-content/uploads/2018/07/peakingfilter.mp4" length="144644" type="video/mp4" />

			</item>
	</channel>
</rss>
