<?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>analog-digital transform &#8211; ASN Home</title>
	<atom:link href="https://www.advsolned.com/tag/analog-digital-transform/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.advsolned.com</link>
	<description>ASN home site</description>
	<lastBuildDate>Fri, 12 May 2023 08:28:14 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Converting analog into digital filters</title>
		<link>https://www.advsolned.com/converting-analog-digital-filters/</link>
					<comments>https://www.advsolned.com/converting-analog-digital-filters/#respond</comments>
		
		<dc:creator><![CDATA[Dr. Sanjeev Sarpal]]></dc:creator>
		<pubDate>Thu, 02 Aug 2018 15:44:21 +0000</pubDate>
				<category><![CDATA[ASN FilterScript]]></category>
		<category><![CDATA[analog filters]]></category>
		<category><![CDATA[analog prototype]]></category>
		<category><![CDATA[analog-digital transform]]></category>
		<category><![CDATA[analog-to-digital]]></category>
		<category><![CDATA[BZT]]></category>
		<category><![CDATA[IIT]]></category>
		<category><![CDATA[lowpass]]></category>
		<category><![CDATA[transforms]]></category>
		<guid isPermaLink="false">http://www.advsolned.com/?p=6364</guid>

					<description><![CDATA[<p>The post <a rel="nofollow" href="https://www.advsolned.com/converting-analog-digital-filters/">Converting analog into digital filters</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><h2><strong>Upgrading legacy designs based on analog filters</strong></h2>
<p>Analog filters have been around since the beginning of electronics, ranging from simple inductor-capacitor networks to more advanced active filters with op-amps. As such, there is a rich collection of tried and tested legacy filter designs for a broad range of sensor measurement applications. However, with the performance requirements of modern IoT (Internet of Things) sensor measurement applications and lower product costs, digital filters integrated into the microcontroller&#8217;s application code are becoming the norm, but <strong>how can we get the best of both worlds</strong>?</p>
<p>Rather than re-inventing the wheel, product designers can take an existing analog filter transfer function, transform it to digital (via a transform) and implement it as digital filter in a microcontroller or DSP (digital signal processor). Although  <strong>analog-to-digital transforms</strong> have been around for decades, the availability of DSP design tooling for tweaking the &#8216;transformed digital filter&#8217; has been somewhat limited, hindering the design and validation process.</p>
<p>A 2nd order analog lowpass filter is shown below, and in its simplest form, only 5 components are required to build the filter, which sounds easy. Right?<a href="http://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt.png"><img fetchpriority="high" decoding="async" class="aligncenter wp-image-6330 size-full" style="border: 1px solid #000000; margin-top: 10px; margin-bottom: 10px;" src="http://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt.png" alt="2nd order analog lowpass filter" width="1224" height="290" srcset="https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt.png 1224w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt-300x71.png 300w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt-768x182.png 768w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt-1030x244.png 1030w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt-705x167.png 705w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt-450x107.png 450w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt-1200x284.png 1200w" sizes="(max-width: 1224px) 100vw, 1224px" /></a></p>
<p><strong>The pros</strong></p>
<p>The most obvious advantage is that analog filters have an excellent resolution, as there are no ‘number of bits’ to consider. Analog filters have good EMC (electromagnetic compatibility) properties as there is no clock generating noise. There are no effects of aliasing, which is certainly true for the simpler op-amps, which don’t have any fancy chopping or auto-calibration circuitry built into them, and analog designs can be cheap which is great for cost sensitive applications.</p>
<h3><strong>Sound great, but what’s the bad news?</strong></h3>
<p>Analog filters have several significant disadvantages that affect filter performance, such as component aging, temperature drift and component tolerance. Also, good performance requires good analog design skills and good PCB (printed circuit board) layout, which is hard to find in the contemporary skills market.</p>
<p>These disadvantages make digital filters much more attractive for modern applications, that require high repeatability of characteristics.  Looking at an example, let’s say that you want to manufacture 1000 measurement modules after optimising your filter design. With <strong>a digital solution you can be sure that the performance of your filter will be identical in all modules</strong>. This is certainly not the case with analog, as component tolerance, component aging and temperature drift mean that each module’s filter will have its own characteristics. Also, an analog filter&#8217;s frequency response remains fixed, i.e. a Butterworth filter will always be a Butterworth filter – any changes the frequency response would require physically changing components on the PCB – not ideal!</p>
<p>Digital filters are adaptive and flexible, we can design and implement a filter with any frequency response that we want, deploy it and then update the filter coefficients without changing anything on the PCB! It’s also easy to design digital filters with <strong>linear phase and at very low sampling frequencies</strong> – two things that are tricky with analog.</p>
<h2>Laplace to discrete/digital transforms</h2>
<p>The three methods discussed herein essentially involve transforming a Laplace (analog) transfer function, \(H(s)\) into a discrete transfer function, \(H(z)\) such that a tried and tested analog filter that is already used in a design may be implemented on a microcontroller or DSP.</p>
<p>A selection of some useful Laplace to z-transforms are given in table below:<span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span></p>
<p style="text-align: center;">\(<br />
\begin{array}{ccc}\hline<br />
H(s) &#038;\longleftrightarrow &#038; H(z) \\ \hline<br />
1 &#038;\longleftrightarrow &#038; 1 \\<br />
\frac{\displaystyle1}{\displaystyle s}<br />
&#038;\longleftrightarrow&#038; \frac{\displaystyle 1}{\displaystyle 1-z^{\scriptstyle -1}}\\<br />
\frac{\displaystyle 1}{\displaystyle s^{\scriptstyle 2}} &#038;\longleftrightarrow&#038; \frac{\displaystyle<br />
Tz^{\scriptstyle-1}}{\displaystyle (1-z^{\scriptstyle -1})^2}\\<br />
\frac{\displaystyle 1}{\displaystyle s+a}<br />
&#038;\longleftrightarrow&#038;<br />
\frac{\displaystyle 1}{\displaystyle 1-e^{-aT}z^{-1}}\\<br />
\frac{\displaystyle 1}{\displaystyle (s+a)^2}<br />
&#038;\longleftrightarrow&#038; \frac{\displaystyle z^{-1}(1-e^{-aT})}{\displaystyle a(1-z^{-1})(1-e^{-aT}z^{-1})}\\\hline<br />
\end{array}<br />
\)<span class="" style="display:block;clear:both;height: 0px;padding-top: 5px;border-top-width:0px;border-bottom-width:0px;"></span><br />
<em>A table of useful Laplace and z-transforms</em></p>
<span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span>
<h3><strong>The Bilinear z-transform (BZT)</strong></h3>
<p>The Bilinear z-transform (BZT), simply converts an analog transfer function, \(H(s)\) into a discrete transfer function, \(H(z)\) by replacing all \(s\) terms with the following:</p>
<p style="text-align: center;">\(\displaystyle<br />
s=\frac{2}{T}\frac{1-z^{-1}}{1+z^{-1}} \label{bzt}\)</p>
<p>where, \(T\) is the discrete system&#8217;s sampling period. However, substituting \(s=j\Omega\) and \(z=e^{jwT}\) into the BZT equation and simplifying, notice that there is actually a non-linear relationship between the analog, \(\Omega\) and discrete, \(w\) frequencies. This relationship is shown below, and is due to the nonlinearity of the arctangent function.</p>
<p style="text-align: center;">\(\displaystyle\omega=2\tan^{-1}\left(\frac{\Omega T}{2}\right)\label{bzt_warp_def1}\)</p>
<p>Analysing the equation, it can be seen that the equally spaced  analog frequencies in the range \( -\infty\lt\Omega\lt\infty\) are nonlinearly compressed in the frequency range \( -\pi\lt w\lt\pi\) in the discrete domain. This relationship is referred to as frequency warping, and may be compensated for by pre-warping the analog frequencies by:</p>
<p style="text-align: center;">\(\displaystyle<br />
\Omega_c=\frac{2}{T}\tan\left(\frac{\Omega_d T}{2}\right)<br />
\label{bzt_warp_def2}<br />
\)</p>
<p style="text-align: left;">where, \(\displaystyle\Omega_c\) is the compensated or pre-warped analog frequency, and \(\displaystyle\Omega_d\) is the desired analog frequency.</p>
<p style="text-align: left;">The ASN FilterScript command \(\texttt{bilinear}\) may be used convert a Laplace transfer function into its discrete equivalent using the BZT transform. An example is given <span style="color: #0000ff;"><a style="color: #0000ff;" href="#example">below</a></span>.</p>
<h3><strong>The Impulse Invariant Transform</strong></h3>
<p>The second transform, is referred to as the impulse invariant transform (IIT), since the poles of the Laplace transfer function are converted into their discrete equivalents, such that the discrete impulse response, \(h(n)\) is identical to a regularly sampled representation of the analog impulse response (i.e., \(h(n)=h(nT)\), where \(T\) is the sampling rate, and \(t=nT\)). The IIT is a much more tedious transformation technique than the BZT, since the Laplace transfer function must be firstly expanded using partial fractions before applying the transform.</p>
<p style="text-align: left;">The transformation technique is defined below:</p>
<p style="text-align: center;">\(\displaystyle<br />
\frac{K}{s+a} \quad\longrightarrow\quad<br />
\frac{K}{1-e^{-aT}z^{-1}} \label{iit_def}<br />
\)</p>
<p>This method <strong>suffers from several constraints</strong>, since it does not allow for the transformation of zeros or individual constant terms (once expanded), and must have a high sampling rate in order to overcome the effects of spectral aliasing. Indeed, the effects of aliasing hinder this method considerably, such that the method should only be used when the requirement is to match the analog transfer function&#8217;s impulse response, since the resulting discrete model may have a different magnitude and phase spectrum (frequency response) to that of the original analog system. Consequently, the impulse invariant method is unsuitable for modelling highpass filters, and is therefore limited to the modelling of lowpass or bandpass type filters.</p>
<p>Due to the aforementioned limitations of the IIT method, it is currently not supported in ASN Filterscript.</p>
<h3><strong>The Matched-z transformation</strong></h3>
<p>Another analog to discrete modelling technique is the matched-z transformation. As the name suggests, the transform<strong> converts the poles and zeros from the analog transfer function directly into poles and zeros in the z-plane</strong>. The transformation is described below, where \(T\) is the sampling rate.</p>
<p style="text-align: center;">\(\displaystyle<br />
\frac{\prod\limits_{k=1}^q(s+b_k)}{\prod\limits_{k=1}^p(s+a_k)}<br />
\quad\longrightarrow\quad<br />
\frac{\prod\limits_{k=1}^q(1-e^{-b_kT}z^{-1})}{\prod\limits_{k=1}^p(1-e^{-a_kT}z^{-1})}<br />
\label{matchedz_def}<br />
\)</p>
<p>Analysing the transform equation, it can be seen that the transformed z-plane poles will be identical to the poles obtained with the impulse invariant method. However, notice that the positions of the zeros will be different, since the impulse invariant method cannot transform them.</p>
<p>The ASN Filterscript command \(\texttt{mztrans}\) is available for this method.</p>
<h2 id="example">A detailed example</h2>
<p>In order to demonstrate the ease of transforming analog filters into their discrete/digital equivalents using the analog to discrete transforms, an example of modelling with the BZT will now follow for a 2nd order lowpass analog filter.</p>
<p>A generalised 2nd order lowpass analog filter is given by:</p>
<p style="text-align: center;">\(\displaystyle<br />
H(s)=\frac{w_c^2}{s^2+2\zeta w_c s + w_c^2}<br />
\)</p>
<p>where, \(w_c=2\pi f_c\) is the cut-off frequency and \(\zeta\) sets the damping of the filter,  where a  \(\zeta=1/\sqrt{2}\) is said to be critically damped or equal to -3dB at \(w_c\). Many analog engineers choose to specify a quality factor, \(Q =  \displaystyle\frac{1}{2\zeta}\) or peaking factor for their designs. Substituting \(Q\) into \(H(s)\), we obtain:</p>
<p style="text-align: center;">\(\displaystyle<br />
H(s)=\frac{w_c^2}{s^2+ \displaystyle{\frac{w_c}{Q}s} + w_c^2}<br />
\)</p>
<p style="text-align: left;">Analysing, \(H(s)\) notice that \(Q=1/\sqrt{2} = 0.707\) also results in a critically damped response. Various values of \(Q\) are shown below, and as seen when \(Q>1/\sqrt{2}\) peaking occurs.</p>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/08/analogQ.png"><img decoding="async" class="aligncenter wp-image-6680" src="http://www.advsolned.com/wp-content/uploads/2018/08/analogQ.png" alt="Values of Q" width="635" height="330" srcset="https://www.advsolned.com/wp-content/uploads/2018/08/analogQ.png 942w, https://www.advsolned.com/wp-content/uploads/2018/08/analogQ-300x156.png 300w, https://www.advsolned.com/wp-content/uploads/2018/08/analogQ-768x399.png 768w, https://www.advsolned.com/wp-content/uploads/2018/08/analogQ-705x366.png 705w, https://www.advsolned.com/wp-content/uploads/2018/08/analogQ-450x234.png 450w" sizes="(max-width: 635px) 100vw, 635px" /></a></p>
<p style="text-align: center;"><em>2nd order lowpass filter prototype magnitude spectrum for various value of Q:<br />
notice that when \(Q>1/\sqrt{2}\) peaking occurs.</em></p>
<p>Before applying the BZT in ASN FilterScript, the analog transfer function must be specified in an analog filter object. The following code sets up an analog filter object for the 2nd order lowpass prototype considered herein:<br />
[code language=&#8221;java&#8221;]<br />
Main()</p>
<p>wc=2*pi*fc;<br />
Nb={0,0,wc^2};<br />
Na={1,wc/Q,wc^2};</p>
<p>Ha=analogtf(Nb,Na,1,&quot;symbolic&quot;); // make analog filter object<br />
[/code]<br />
The \(\texttt{symbolic}\) keyword generates a symbolic transfer function representation in the command window. For a sampling rate of \(f_s=500Hz\) and \(f_c=30Hz\) and \(Q=0.707\), we obtain:</p>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/08/analogTF.png"><img decoding="async" class="aligncenter wp-image-6683 size-full" src="http://www.advsolned.com/wp-content/uploads/2018/08/analogTF.png" alt="ASN FilterScript analog command" width="398" height="104" srcset="https://www.advsolned.com/wp-content/uploads/2018/08/analogTF.png 398w, https://www.advsolned.com/wp-content/uploads/2018/08/analogTF-300x78.png 300w" sizes="(max-width: 398px) 100vw, 398px" /></a></p>
<p>Applying the BZT via the \(\texttt{bilinear}\) command without prewarping,<br />
[code language=&#8221;java&#8221; light=&#8221;true&#8221;] Hd=bilinear(Ha,0,&quot;symbolic&quot;); [/code]<br />
<a href="https://www.advsolned.com/wp-content/uploads/2018/08/bilinearTF.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-12435 size-full" src="https://www.advsolned.com/wp-content/uploads/2018/08/bilinearTF.png" alt="bilinear transformation" width="510" height="116" srcset="https://www.advsolned.com/wp-content/uploads/2018/08/bilinearTF.png 510w, https://www.advsolned.com/wp-content/uploads/2018/08/bilinearTF-300x68.png 300w, https://www.advsolned.com/wp-content/uploads/2018/08/bilinearTF-450x102.png 450w" sizes="auto, (max-width: 510px) 100vw, 510px" /></a></p>
<p>The complete frequency response of the transformed digital filter is shown below, where it can be seen that the at \(30Hz\) the magnitude is \(-3dB\) and the phase is \( -90^{\circ}\), which is as expected. Notice also how the filter&#8217;s magnitude roll-off  is affected by the double zero pair at Nyquist (see the z-plane chart below), leading to differences from its analog cousin. <span class="" style="display:block;clear:both;height: 0px;padding-top: 10px;border-top-width:0px;border-bottom-width:0px;"></span><a href="http://www.advsolned.com/wp-content/uploads/2018/08/analogQzp.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-6693" src="http://www.advsolned.com/wp-content/uploads/2018/08/analogQzp.png" alt="Pole-zero chart 2nd order LPF" width="353" height="353" srcset="https://www.advsolned.com/wp-content/uploads/2018/08/analogQzp.png 357w, https://www.advsolned.com/wp-content/uploads/2018/08/analogQzp-80x80.png 80w, https://www.advsolned.com/wp-content/uploads/2018/08/analogQzp-300x300.png 300w, https://www.advsolned.com/wp-content/uploads/2018/08/analogQzp-36x36.png 36w, https://www.advsolned.com/wp-content/uploads/2018/08/analogQzp-180x180.png 180w, https://www.advsolned.com/wp-content/uploads/2018/08/analogQzp-120x120.png 120w" sizes="auto, (max-width: 353px) 100vw, 353px" /></a></p>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/08/analogQfr.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-6686" src="http://www.advsolned.com/wp-content/uploads/2018/08/analogQfr.png" alt="2nd order LPF" width="513" height="581" srcset="https://www.advsolned.com/wp-content/uploads/2018/08/analogQfr.png 580w, https://www.advsolned.com/wp-content/uploads/2018/08/analogQfr-265x300.png 265w, https://www.advsolned.com/wp-content/uploads/2018/08/analogQfr-450x509.png 450w" sizes="auto, (max-width: 513px) 100vw, 513px" /></a></p>
<p>The pole-zero positions may be tweaked within ASN Filterscript or via the ASN Filter Designer&#8217;s interactive pole-zero z-plane plot editor by just using the mouse!</p>
<h2>Implementation</h2>
<p>The complete code for transforming a generalised 2nd order analog  lowpass filter prototype into its digital equivalent using the BZT via <span style="color: #0000ff;"><a style="color: #0000ff;" href="http://www.advsolned.com/asn_filter_designer/#live-math-scripting">ASN FilterScript</a></span> is given below:<span class="" style="display:block;clear:both;height: 0px;padding-top: 10px;border-top-width:0px;border-bottom-width:0px;"></span><br />
[code language=&#8221;java&#8221;]</p>
<p>ClearH1;  // clear primary filter from cascade<br />
interface Q = {0.1,10,0.02,0.707};<br />
interface fc = {10,200,10,40};</p>
<p>Main()</p>
<p>wc=2*pi*fc;<br />
Nb={0,0,wc^2};<br />
Na={1,wc/Q,wc^2};</p>
<p>Ha=analogtf(Nb,Na,1,&quot;symbolic&quot;); // make analog filter object<br />
Hd=bilinear(Ha,0,&quot;symbolic&quot;); // transform Ha via BZT into digital object, Hd</p>
<p>Num=getnum(Hd);<br />
Den=getden(Hd);<br />
Gain=getgain(Hd);</p>
<p>[/code]<br />
<span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span></p>
<p><a href="https://www.advsolned.com/asn_filter_designer/"><img loading="lazy" decoding="async" class="alignleft wp-image-3310" style="margin: 10px 80px 10px 20px;" src="http://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox.png" alt="ASN Filter Designer Box" width="183" height="253" srcset="https://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox.png 800w, https://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox-217x300.png 217w, https://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox-768x1062.png 768w, https://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox-745x1030.png 745w, https://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox-510x705.png 510w, https://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox-450x622.png 450w" sizes="auto, (max-width: 183px) 100vw, 183px" /></a></p>
<p style="text-align: left;"><a class="button" href="http://www.advsolned.com/request-form-asn-filter-designer-demo/">Download demo now</a></p>
<p><a class="button" href="http://www.advsolned.com/pricing-and-licencing/#Best_licence_forme">Licencing information</a><br />
<span class="" style="display:block;clear:both;height: 0px;padding-top: 30px;border-top-width:0px;border-bottom-width:0px;"></span></p>
</div></section><br />
<span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span>
                
                    <!--begin code -->

                    
                    <div class="pp-multiple-authors-boxes-wrapper pp-multiple-authors-wrapper pp-multiple-authors-layout-boxed multiple-authors-target-shortcode box-post-id-19551 box-instance-id-1 ppma_boxes_19551"
                    data-post_id="19551"
                    data-instance_id="1"
                    data-additional_class="pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode"
                    data-original_class="pp-multiple-authors-boxes-wrapper pp-multiple-authors-wrapper box-post-id-19551 box-instance-id-1">
                                                                                    <h2 class="widget-title box-header-title">Author</h2>
                                                                            <span class="ppma-layout-prefix"></span>
                        <div class="ppma-author-category-wrap">
                                                                                                                                    <span class="ppma-category-group ppma-category-group-1 category-index-0">
                                                                                                                        <ul class="pp-multiple-authors-boxes-ul author-ul-0">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
                                                                                                                    <li class="pp-multiple-authors-boxes-li author_index_0 author_ssarpal has-avatar">
                                                                                                                                                                                    <div class="pp-author-boxes-avatar">
                                                                    <div class="avatar-image">
                                                                                                                                                                                                                <img alt='' src='https://www.advsolned.com/wp-content/uploads/2023/05/sanjeevsarpal.jpeg' srcset='https://www.advsolned.com/wp-content/uploads/2023/05/sanjeevsarpal.jpeg' class='multiple_authors_guest_author_avatar avatar' height='80' width='80'/>                                                                                                                                                                                                            </div>
                                                                                                                                    </div>
                                                            
                                                            <div class="pp-author-boxes-avatar-details">
                                                                <div class="pp-author-boxes-name multiple-authors-name"><a href="https://www.advsolned.com/author/ssarpal/" rel="author" title="Dr. Sanjeev Sarpal" class="author url fn">Dr. Sanjeev Sarpal</a></div>                                                                                                                                                                                                        <p class="pp-author-boxes-description multiple-authors-description author-description-0">
                                                                                                                                                    Sanjeev is a RTEI (Real-Time Edge Intelligence) visionary and expert in signals and systems with a track record of successfully developing over 26 commercial products. He is a Distinguished Arm Ambassador and advises top international blue chip companies on their AIoT/RTEI solutions and strategies for I5.0, telemedicine, smart healthcare, smart grids and smart buildings.                                                                                                                                                </p>
                                                                                                                                
                                                                                                                                    <span class="pp-author-boxes-meta multiple-authors-links">
                                                                        <a href="https://www.advsolned.com/author/ssarpal/" title="View all posts">
                                                                            <span>View all posts</span>
                                                                        </a>
                                                                    </span>
                                                                                                                                <a class="ppma-author-user_email-profile-data ppma-author-field-meta ppma-author-field-type-email" aria-label="Email" href="mailto:sanjeev.sarpal@advsolned.com"  target="_self"><span class="dashicons dashicons-email-alt"></span> </a>
                                                                                                                            </div>
                                                                                                                                                                                                                        </li>
                                                                                                                                                                                                                                    </ul>
                                                                            </span>
                                                                                                                        </div>
                        <span class="ppma-layout-suffix"></span>
                                            </div>
                    <!--end code -->
                    
                
                                <style>
                .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .pp-author-boxes-avatar img { 
        width: 80px !important; 
        height: 80px !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .pp-author-boxes-avatar img {
        border-radius: 50% !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .pp-author-boxes-meta a {
        background-color: #655997 !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .pp-author-boxes-meta a {
        color: #ffffff !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .pp-author-boxes-meta a:hover {
        color: #ffffff !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .ppma-author-user_url-profile-data {
        background-color: #655997 !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .ppma-author-user_url-profile-data {
        border-radius: 100% !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .ppma-author-user_url-profile-data {
        color: #ffffff !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .ppma-author-user_url-profile-data:hover {
        color: #ffffff !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .ppma-author-user_email-profile-data {
        background-color: #655997 !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .ppma-author-user_email-profile-data {
        border-radius: 100% !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .ppma-author-user_email-profile-data {
        color: #ffffff !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .ppma-author-user_email-profile-data:hover {
        color: #ffffff !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .pp-author-boxes-recent-posts-title {
        border-bottom-style: dotted !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .pp-multiple-authors-boxes-li {
        border-style: solid !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .pp-multiple-authors-boxes-li {
        color: #3c434a !important; 
    }

    .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .pp-multiple-authors-boxes-li {
        border-radius: px !important; 
    }

            </style>
        
        </p>
		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_not_liked"><button type="button"
					aria-label="Like Button"
					data-ulike-id="6364"
					data-ulike-nonce="4a556d531f"
					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_6364"></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/converting-analog-digital-filters/">Converting analog into digital filters</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.advsolned.com/converting-analog-digital-filters/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
