<?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>Marketing &#8211; ASN Home</title>
	<atom:link href="https://www.advsolned.com/category/marketing/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.advsolned.com</link>
	<description>ASN home site</description>
	<lastBuildDate>Tue, 09 Nov 2021 14:31:05 +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>Kammfilter: Unterdrückung von Oberschwingungen im Stromnetz und CIC</title>
		<link>https://www.advsolned.com/fir-kammfilter-oberschwingungen-cic/</link>
					<comments>https://www.advsolned.com/fir-kammfilter-oberschwingungen-cic/#respond</comments>
		
		<dc:creator><![CDATA[ASN consultancy team]]></dc:creator>
		<pubDate>Sat, 29 May 2021 16:36:00 +0000</pubDate>
				<category><![CDATA[Marketing]]></category>
		<guid isPermaLink="false">https://www.advsolned.com/?p=16336</guid>

					<description><![CDATA[<p>Kammfilter: Anwendung zur Unterdrückung von Netzstörungen<br />
Kammfilter werden als Netzfilter (50/60 Hz) zur Auslöschung von Oberwellen in Audioanwendungen eingesetzt</p>
<p>The post <a rel="nofollow" href="https://www.advsolned.com/fir-kammfilter-oberschwingungen-cic/">Kammfilter: Unterdrückung von Oberschwingungen im Stromnetz und CIC</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" ><p>Kammfilter werden als Netzfilter (50/60 Hz) zur Auslöschung von Oberwellen in Audioanwendungen eingesetzt und bilden die Grundlage für sogenannte CIC-Filter (Cascaded Integrator-Comb), die für Anti-Aliasing bei der Dezimierung (Verringerung der Abtastrate) und Anti-Imaging bei Interpolationsanwendungen (Erhöhung der Abtastrate) verwendet werden.</p>
<p style="text-align: left;">Der Frequenzgang eines Kammfilters besteht aus einer Reihe von regelmäßig beabstandeten Mulden, die das Aussehen eines Kamms ergeben. Wie in der Abbildung unten zu sehen ist, erscheint der Abstand der einzelnen Senken entweder bei ungeraden oder geraden Oberwellen der gewünschten Grundfrequenz.</p>
<p style="text-align: center;"><a href="http://www.advsolned.com/wp-content/uploads/2018/07/fircomb.png"><img fetchpriority="high" decoding="async" class="aligncenter wp-image-5991" src="http://www.advsolned.com/wp-content/uploads/2018/07/fircomb.png" alt="Kammfilter werden als Netzfilter (50/60 Hz) zur Auslöschung von Oberwellen in Audioanwendungen eingesetzt und bilden die Grundlage für so genannte CIC-Filter (Cascaded Integrator-Comb), die für Anti-Aliasing bei der Dezimierung (Reduzierung der Abtastrate) und Anti-Imaging bei der Interpolation (Erhöhung der Abtastrate) verwendet werden" width="453" height="536" srcset="https://www.advsolned.com/wp-content/uploads/2018/07/fircomb.png 464w, https://www.advsolned.com/wp-content/uploads/2018/07/fircomb-254x300.png 254w, https://www.advsolned.com/wp-content/uploads/2018/07/fircomb-450x532.png 450w" sizes="(max-width: 453px) 100vw, 453px" /></a><em>Frequenzgang eines typischen FIR-Kammfilters (Auslöschung ungerader Harmonischer):<br />
</em><em>\(f_s=500Hz\),  \(f_c=25Hz\), \(L=10\) und \(\alpha=1\)<br />
</em></p>
<p style="text-align: left;"><span class="" style="display:block;clear:both;height: 0px;padding-top: 25px;border-top-width:0px;border-bottom-width:0px;"></span>Ein FIR-Kammfilter kann durch die folgende Übertragungsfunktion beschrieben werden:</p>
<p style="text-align: center;">\(H(z)=1+\alpha z^{-L}\)<span class="" style="display:block;clear:both;height: 0px;padding-top: 2px;border-top-width:0px;border-bottom-width:0px;"></span><br />
\(\Rightarrow Y(z)=X(z)\left[1+\alpha z^{-L}\right]\)</p>
<p style="text-align: left;">Offensichtlich ist das Kammfilter einfach ein gewichtetes verzögertes Replikat seiner selbst, spezifiziert durch \(L\). Durch inverse z-Transformationen erhalten wir die für die Implementierung benötigte Differenzengleichung,</p>
<p style="text-align: center;">\(y(n)=x(n)+\alpha x(n-L)\)</p>
<p>wobei \(\alpha\) zur Einstellung der Q (Bandbreite) der Kerbe verwendet wird und entweder positiv oder negativ sein kann, je nachdem, welche Art von Frequenzgang erforderlich ist. Um dies zu verdeutlichen: Negative Werte von \(\alpha\) haben ihren ersten Tiefpunkt bei DC und ihren zweiten Tiefpunkt bei der Grundfrequenz. Es ist klar, dass diese Art von Kammfilter verwendet werden kann, um DC-Komponenten aus einer gemessenen Wellenform zu entfernen, falls dies erforderlich ist. Alle nachfolgenden Tiefpunkte erscheinen bei geraden Harmonischen bis einschließlich der Nyquist-Frequenz.</p>
<p>Positive Werte von \(\alpha\) hingegen haben nur Mulden bei der Grundfrequenz und den ungeraden Harmonischen und können daher nicht zur Entfernung von Gleichstromanteilen verwendet werden.</p>
<h2>Anwendung zur Powerline-Entstörung</h2>
<p>Die Wirksamkeit des Kammfilters ist abhängig von der Abtastfrequenz \(f_s\), da \(L\) nur auf ganzzahlige Werte beschränkt ist. Außerdem ist eine Beziehung zwischen \(f_s\), da \(L\) und vom Vorzeichen von \(\alpha\) abhängig. Daher werden für die Zwecke der in dieser Diskussion betrachteten Anwendung zur Netzentstörung nur positive Werte von berücksichtigt, da wir nur ungerade Oberwellen auslöschen müssen.</p>
<p>Eine einfache Beziehung zur Bestimmung von \(L\) lässt sich für positive Werte von \(\alpha\) wie folgt zusammenfassen:</p>
<p style="text-align: center;">\(L=ceil\left( \large{\frac{f_s}{2f_c}}\right)\)</p>
<p>wobei \(f_c\) der gewünschte Mittelpunkt der Kerbgrundfrequenz ist. Basierend auf diesem Ausdruck können wir die Abtastfrequenz neu berechnen, so dass \(f_c\) ein echtes Vielfaches von \(f_s\) ist</p>
<p style="text-align: center;">\(f_{snew}=2f_c L\)</p>
<h2>Beispiel für ein Kammfilter</h2>
<p>Für das hier betrachtete Beispiel, d. h. \(fs=500Hz\) und \(fc=25Hz\), erhalten wir \(L=10\). Bei \(f_c=60Hz\) bräuchten wir jedoch \(L=5\), bzw. eine neue Abtastrate von \(600Hz\), wobei interessant ist, dass auch \(f_s=480Hz\) für \(L=4\) ausreichen würde.<br />
<span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span></p>
<h2>Implementierung</h2>
<p>Ein FIR-Kammfilter kann in <span style="color: #0000ff;"><a style="color: #0000ff;" href="http://www.advsolned.com/asn_filter_designer/#live-math-scripting">ASN FilterScript</a></span> wie folgt implementiert werden:<br />
[code language=&#8221;java&#8221;]<br />
ClearH1;  // clear primary filter from cascade<br />
interface L = {4,20,1,5}; // delay<br />
interface alpha = {-1,1,0.01,1};</p>
<p>Main()<br />
Num = {1,zeros(L-1),alpha}; // numerator coefficients<br />
Den = {1};<br />
Gain = 1/sum(abs(Num));<br />
[/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="http://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox.png"><img 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="" 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="(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></p>
</div></section>
</div></div></div><!-- close content main div --></div></div><div id='av_section_1' class='avia-section main_color avia-section-default avia-no-border-styling avia-bg-style-scroll   container_wrap sidebar_right' style=' '  ><div class='container' ><div class='template-page content  av-content-small alpha units'><div class='post-entry post-entry-type-page post-entry-16336'><div class='entry-content-wrapper clearfix'></div></div></div><!-- close content main div --></div></div><div id='after_section_1' class='main_color av_default_container_wrap container_wrap sidebar_right' style=' '  ><div class='container' ><div class='template-page content  av-content-small alpha units'><div class='post-entry post-entry-type-page post-entry-16336'><div class='entry-content-wrapper clearfix'>
</div></div></div><!-- close content main div --></div></div><div id='av_section_2' class='avia-section main_color avia-section-default avia-no-border-styling avia-bg-style-scroll   container_wrap sidebar_right' style=' '  ><div class='container' ><div class='template-page content  av-content-small alpha units'><div class='post-entry post-entry-type-page post-entry-16336'><div class='entry-content-wrapper clearfix'></div></div></div><!-- close content main div --></div></div><div id='after_section_2' class='main_color av_default_container_wrap container_wrap sidebar_right' style=' '  ><div class='container' ><div class='template-page content  av-content-small alpha units'><div class='post-entry post-entry-type-page post-entry-16336'><div class='entry-content-wrapper clearfix'>
		<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="16336"
					data-ulike-nonce="bf6c6ffb1e"
					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_16336"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	<p>The post <a rel="nofollow" href="https://www.advsolned.com/fir-kammfilter-oberschwingungen-cic/">Kammfilter: Unterdrückung von Oberschwingungen im Stromnetz und CIC</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.advsolned.com/fir-kammfilter-oberschwingungen-cic/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Wie entwirft man FIR-Filter im ASN Filter Designer?</title>
		<link>https://www.advsolned.com/wie-entwirft-man-fir-filter-im-asn-filter-designer/</link>
					<comments>https://www.advsolned.com/wie-entwirft-man-fir-filter-im-asn-filter-designer/#respond</comments>
		
		<dc:creator><![CDATA[ASN consultancy team]]></dc:creator>
		<pubDate>Tue, 25 May 2021 18:01:00 +0000</pubDate>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[FIR]]></category>
		<category><![CDATA[Signalverarbeitung]]></category>
		<guid isPermaLink="false">https://www.advsolned.com/?p=17110</guid>

					<description><![CDATA[<p>FIR-Filter (finite impulse response) sind für viele sanwendungen von Signalverarbeitung nützlich, z.B. Audiosignalverarbeitung und Rauschunterdrückung.</p>
<p>The post <a rel="nofollow" href="https://www.advsolned.com/wie-entwirft-man-fir-filter-im-asn-filter-designer/">Wie entwirft man FIR-Filter im ASN Filter Designer?</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class="flex_column av_one_full  flex_column_table_cell av-equal-height-column av-align-middle av-zero-column-padding first  " style='border-radius:0px; '><p><div style='padding-bottom:10px; ' class='av-special-heading av-special-heading-h1     '><h1 class='av-special-heading-tag '  itemprop="headline"  >Wie entwirft man FIR-Filter im ASN Filter Designer?</h1><div class='special-heading-border'><div class='special-heading-inner-border' ></div></div></div><br />
<section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><p>FIR-Filter (finite impulse response) sind für eine Vielzahl von Signalverarbeitungsanwendungen nützlich. Dazu gehören Audiosignalverarbeitung und Rauschunterdrückung. Obwohl es mehrere praktische Implementierungen für FIRs gibt, sind die direkte Form und ihre transponierte Cousine vielleicht die am häufigsten verwendeten. Daher sind alle entworfenen Filterkoeffizienten für die Implementierung in einer Struktur der direkten Form in ASN Filter Designer vorgesehen.</p>
</div></section></p></div></div><!--close column table wrapper. Autoclose: 1 --><div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class="flex_column av_one_fifth  flex_column_table_cell av-equal-height-column av-align-middle av-zero-column-padding first  " style='border-radius:0px; '></div></div><!--close column table wrapper. Autoclose: 1 --></p>
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class='av-flex-placeholder'></div><div class="flex_column av_three_fifth  flex_column_table_cell av-equal-height-column av-align-middle av-zero-column-padding   " style='border-radius:0px; '><p><div class='avia-image-container  av-styling-    avia-align-left '  itemprop="ImageObject" itemscope="itemscope" itemtype="https://schema.org/ImageObject"  ><div class='avia-image-container-inner'><div class='avia-image-overlay-wrap'><a href='https://www.advsolned.com/wp-content/uploads/2018/07/Direct-Form-970x1030.png' class='avia_image'  ><img class='avia_image ' src='https://www.advsolned.com/wp-content/uploads/2018/07/Direct-Form.png' alt='Direct form Direct form I Direct form 1 Direct Forms Transposed FIR Filters' title='Direct Form'  itemprop="thumbnailUrl"  /></a></div></div></div><br />
<div style='height:20px' class='hr hr-invisible  '><span class='hr-inner ' ><span class='hr-inner-style'></span></span></div></p></div></div><!--close column table wrapper. Autoclose: 1 -->
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class='av-flex-placeholder'></div><div class="flex_column av_one_fifth  flex_column_table_cell av-equal-height-column av-align-middle av-zero-column-padding   " style='border-radius:0px; '></div></div><!--close column table wrapper. Autoclose: 1 -->
<section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><p>Der ASN Filter Designer unterstützt den Entwurf und die Implementierung sowohl von <strong>Direct Form</strong> als auch von <strong>Direct Form Transposed</strong> FIRs. Wie bei IIR-Filtern ist die Standardstruktur die <strong>Direct Form Transposed-Struktur</strong>, da sie bei der Verwendung von Fließkommazahlen eine höhere numerische Genauigkeit aufweist.</p>
</div></section>
<div class="flex_column av_one_full  flex_column_div av-zero-column-padding first  " style='border-radius:0px; '><div style='padding-bottom:10px; ' class='av-special-heading av-special-heading-h2  blockquote modern-quote modern-centered  '><h2 class='av-special-heading-tag '  itemprop="headline"  >FIR-Filter im ASN Filter Designer</h2><div class='special-heading-border'><div class='special-heading-inner-border' ></div></div></div></div>
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class="flex_column av_one_full  flex_column_table_cell av-equal-height-column av-align-middle av-zero-column-padding first  " style='border-radius:0px; '><section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><p>Der FIR-Filterdesigner (finite impulse response) wird über den <a style="color: #0000ff;" href="https://en.wikipedia.org/wiki/Parks%E2%80%93McClellan_filter_design_algorithm">Parks-McClellan-Algorithmus</a> implementiert und ermöglicht den Entwurf der folgenden Filtertypen:</p>
<ul>
<li>Tiefpass</li>
<li>Hochpass</li>
<li>Bandpass</li>
<li>Bandsperre</li>
<li>Multiband</li>
<li>Hilbert-Transformator</li>
<li>Unterscheidungsglied</li>
</ul>
<p>Der Parks-McClellan-Algorithmus bietet im Vergleich zu anderen FIR-Entwurfsmethoden ein gewisses Maß an Flexibilität, da jedes Band individuell angepasst werden kann, um den Anforderungen des Designers zu entsprechen.</p>
</div></section></div></div><!--close column table wrapper. Autoclose: 1 -->
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class="flex_column av_one_fifth  flex_column_table_cell av-equal-height-column av-align-top av-zero-column-padding first  " style='border-radius:0px; '></div></div><!--close column table wrapper. Autoclose: 1 -->
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class='av-flex-placeholder'></div><div class="flex_column av_three_fifth  flex_column_table_cell av-equal-height-column av-align-top av-zero-column-padding   " style='border-radius:0px; '><p><div class='avia-image-container  av-styling-    avia-align-left '  itemprop="ImageObject" itemscope="itemscope" itemtype="https://schema.org/ImageObject"  ><div class='avia-image-container-inner'><div class='avia-image-overlay-wrap'><a href='https://www.advsolned.com/wp-content/uploads/2018/10/Parks-McClellan-algorithm-1030x439.png' class='avia_image'  ><img class='avia_image ' src='https://www.advsolned.com/wp-content/uploads/2018/10/Parks-McClellan-algorithm.png' alt='' title='Parks McClellan algorithm'  itemprop="thumbnailUrl"  /></a></div></div></div><br />
<div style='height:20px' class='hr hr-invisible  '><span class='hr-inner ' ><span class='hr-inner-style'></span></span></div></p></div></div><!--close column table wrapper. Autoclose: 1 -->
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class='av-flex-placeholder'></div><div class="flex_column av_one_fifth  flex_column_table_cell av-equal-height-column av-align-top av-zero-column-padding   " style='border-radius:0px; '></div></div><!--close column table wrapper. Autoclose: 1 -->
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class="flex_column av_one_full  flex_column_table_cell av-equal-height-column av-align-middle av-zero-column-padding first  " style='border-radius:0px; '><p><section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><p>Es können Filterordnungen von bis zu 499 (nur in der professionellen Version) konstruiert werden, wobei diese Zahl bei Streaming-Audio-Anwendungen auf 200 begrenzt ist. Wie bei den IIR-Filtern können die Nullstellen eines FIR-Filters mit dem P-Z-Editor modifiziert werden (die Dropdown-Liste <strong>&#8220;Method&#8221;</strong> ändert sich zu <strong>&#8220;User defined&#8221;</strong>), einschließlich der Möglichkeit, Pole hinzuzufügen und das Filter in ein IIR-Filter umzuwandeln.</p>
</div></section><br />
<article class="iconbox iconbox_left    "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class="iconbox_content"><header class="entry-content-header"><div class="iconbox_icon heading-color " aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'  style='color:#4594e8; ' ></div></header><div class='iconbox_content_container  '  itemprop="text"  ><p>FIR-Entwürfe höherer Ordnung (>100): Um das Plotten zu beschleunigen, werden Aktualisierungen des P-Z-Diagramms verschoben, bis die linke Maustaste losgelassen wird.</p>
</div></div><footer class="entry-footer"></footer></article><br />
<article class="iconbox iconbox_left    "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class="iconbox_content"><header class="entry-content-header"><div class="iconbox_icon heading-color " aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'  style='color:#4594e8; ' ></div></header><div class='iconbox_content_container  '  itemprop="text"  ><p>Die Ordnungsschätzung des Parks-McClellan-Algorithmus unterschätzt manchmal die für die gegebenen Spezifikationen erforderliche Filterordnung. Um die Ordnungsschätzung automatisch um 2 zu erhöhen (Überschätzung), können Sie daher das Kontrollkästchen <strong>Minimum</strong> deaktivieren.</p>
</div></div><footer class="entry-footer"></footer></article></p></div></div><!--close column table wrapper. Autoclose: 1 -->
<div style='height:20px' class='hr hr-invisible  '><span class='hr-inner ' ><span class='hr-inner-style'></span></span></div>
<div style='padding-bottom:20px; color:#000000;' class='av-special-heading av-special-heading-h3 custom-color-heading blockquote modern-quote   '><h3 class='av-special-heading-tag '  itemprop="headline"  >Konvergenz und Fehler</h3><div class='special-heading-border'><div class='special-heading-inner-border' style='border-color:#000000'></div></div></div>
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class="flex_column av_one_full  flex_column_table_cell av-equal-height-column av-align-middle av-zero-column-padding first  " style='border-radius:0px; '><p><section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><p>Der Parks-McClellan-Algorithmus ist ein optimales Tschebyscheff-FIR-Entwurfsverfahren, allerdings konvergiert der Algorithmus für einige Spezifikationen möglicherweise nicht. In solchen Fällen hilft es im Allgemeinen, den Abstand zwischen den Entwurfsmarkierungsbändern zu vergrößern.</p>
</div></section><br />
<article class="iconbox iconbox_left    "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class="iconbox_content"><header class="entry-content-header"><div class="iconbox_icon heading-color " aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'  style='color:#edae44; ' ></div></header><div class='iconbox_content_container  '  itemprop="text"  ><p>Fehler im Wurzelfindungsalgorithmus führen in der Regel zu unerwünschten Ergebnissen bei Filterimplementierungen hoher Ordnung. Daher sollten die im P-Z-Diagramm dargestellten Nullstellen für höhere Ordnungen (> 60 oder so) nur als eine Illustration der tatsächlichen Positionen interpretiert werden. Wenn Sie ein FIR-Filter hoher Ordnung mit einigen hundert Anzapfungen entwerfen, ist es außerdem nicht empfehlenswert, den P-Z-Editor für die Bearbeitung der Positionen der Nullstellen zu verwenden.</p>
</div></div><footer class="entry-footer"></footer></article></p></div></div><!--close column table wrapper. Autoclose: 1 -->
<div style='height:20px' class='hr hr-invisible  '><span class='hr-inner ' ><span class='hr-inner-style'></span></span></div>
<div style='padding-bottom:20px; color:#000000;' class='av-special-heading av-special-heading-h3 custom-color-heading blockquote modern-quote   '><h3 class='av-special-heading-tag '  itemprop="headline"  >Multiband FIR</h3><div class='special-heading-border'><div class='special-heading-inner-border' style='border-color:#000000'></div></div></div>
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class="flex_column av_two_fifth  flex_column_table_cell av-equal-height-column av-align-top av-zero-column-padding first  " style='border-radius:0px; '><div class='avia-image-container  av-styling-    avia-align-left '  itemprop="ImageObject" itemscope="itemscope" itemtype="https://schema.org/ImageObject"  ><div class='avia-image-container-inner'><div class='avia-image-overlay-wrap'><img class='avia_image' src='https://www.advsolned.com/wp-content/uploads/2018/07/Multiband-FIR.png' alt='Multiband FIR' title='Multiband FIR' height="193" width="388"  itemprop="thumbnailUrl"  /></div></div></div></div></div><!--close column table wrapper. Autoclose: 1 -->
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class='av-flex-placeholder'></div><div class="flex_column av_three_fifth  flex_column_table_cell av-equal-height-column av-align-top av-zero-column-padding   " style='border-radius:0px; '><section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><p>Um einen beliebigen Frequenzgang zu implementieren, können Sie die <strong>Multiband</strong>-Entwurfsmethode verwenden. Zusätzliche Bänder können in der Entwurfsspezifikationstabelle hinzugefügt oder entfernt werden, indem Sie mit der rechten Maustaste auf ein <strong>Band</strong> klicken und die gewünschte Option auswählen.</p>
</div></section></div></div><!--close column table wrapper. Autoclose: 1 -->
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class="flex_column av_one_full  flex_column_table_cell av-equal-height-column av-align-middle av-zero-column-padding first  " style='border-radius:0px; '><p><div style='height:20px' class='hr hr-invisible  '><span class='hr-inner ' ><span class='hr-inner-style'></span></span></div><br />
<section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><p>Die Entwurfsmethode erfordert, dass mindestens ein Band ein Durchlassband ist.</p>
</div></section><br />
<article class="iconbox iconbox_left    "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class="iconbox_content"><header class="entry-content-header"><div class="iconbox_icon heading-color " aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'  style='color:#4594e8; ' ></div></header><div class='iconbox_content_container  '  itemprop="text"  ><p>Alle Bänder mit einer Dämpfung von 10 dB oder weniger werden als <em>Durchlassbänder</em> eingestuft. Je nach dem Grad der angegebenen Banddämpfung wandelt das Tool automatisch ein Sperrband in ein Durchlassband um und umgekehrt.</p>
</div></div><footer class="entry-footer"></footer></article><br />
<div style='height:20px' class='hr hr-invisible  '><span class='hr-inner ' ><span class='hr-inner-style'></span></span></div></p></div></div><!--close column table wrapper. Autoclose: 1 -->
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class="flex_column av_one_fifth  flex_column_table_cell av-equal-height-column av-align-top av-zero-column-padding first  " style='border-radius:0px; '></div></div><!--close column table wrapper. Autoclose: 1 -->
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class='av-flex-placeholder'></div><div class="flex_column av_three_fifth  flex_column_table_cell av-equal-height-column av-align-top av-zero-column-padding   " style='border-radius:0px; '><div class='avia-image-container  av-styling-    avia-align-center '  itemprop="ImageObject" itemscope="itemscope" itemtype="https://schema.org/ImageObject"  ><div class='avia-image-container-inner'><div class='avia-image-overlay-wrap'><a href='https://www.advsolned.com/wp-content/uploads/2018/07/Frequency-response.png' class='avia_image'  ><img class='avia_image ' src='https://www.advsolned.com/wp-content/uploads/2018/07/Frequency-response.png' alt='Frequency response' title='Frequency response'  itemprop="thumbnailUrl"  /></a></div></div></div></div></div><!--close column table wrapper. Autoclose: 1 -->
<div class='flex_column_table av-equal-height-column-flextable -flextable' ><div class='av-flex-placeholder'></div><div class="flex_column av_one_fifth  flex_column_table_cell av-equal-height-column av-align-top av-zero-column-padding   " style='border-radius:0px; '></div></div><!--close column table wrapper. Autoclose: 1 -->
<div style='height:20px' class='hr hr-invisible  '><span class='hr-inner ' ><span class='hr-inner-style'></span></span></div>
<div class="flex_column av_one_full  flex_column_div av-zero-column-padding first  " style='border-radius:0px; '><section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><p>Lesen Sie mehr über FIR-Filter in:</p>
<p><span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/difference-between-iir-and-fir-filters-a-practical-design-guide/">IIR- und FIR-Entwurfsleitfaden</a></span></p>
<p><span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/implementing-fir-filters-with-the-asn-filter-designer-and-the-arm-cmsis-dsp-software-framework/">Implementierung von FIR-Filtern mit dem ASN Filter Designer und dem Arm CMSIS-DSP Software Framework</a></span></p>
<p class="post-title entry-title">
</div></section></div>
</div></div></div><!-- close content main div --></div></div><div id='av-layout-grid-1' class='av-layout-grid-container entry-content-wrapper main_color av-flex-cells    container_wrap sidebar_right' style=' '  >
<div class="flex_cell no_margin av_one_full   " style='vertical-align:top; padding:30px; '><div class='flex_cell_inner' ><p><div class="flex_column av_one_half  flex_column_div av-zero-column-padding first  " style='border-radius:0px; '><div class='avia-image-container  av-styling-    avia-align-right '  itemprop="ImageObject" itemscope="itemscope" itemtype="https://schema.org/ImageObject"  ><div class='avia-image-container-inner'><div class='avia-image-overlay-wrap'><a href='https://www.advsolned.com/asn_filter_designer/' class='avia_image'  ><img class='avia_image ' src='https://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox-217x300.png' alt='' title='ASN Filter Designer DSP'  itemprop="thumbnailUrl"  /></a></div></div></div></div><div class="flex_column av_one_half  flex_column_div av-zero-column-padding   " style='border-radius:0px; '><p><div style='height:40px' class='hr hr-invisible  '><span class='hr-inner ' ><span class='hr-inner-style'></span></span></div><br />
<div class='avia-button-wrap avia-button-left '><a href='https://www.advsolned.com/pricing-and-licencing/'  class='avia-button   avia-icon_select-yes-left-icon avia-color-red avia-size-large avia-position-left '  target="_blank"   ><span class='avia_button_icon avia_button_icon_left ' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></span><span class='avia_iconbox_title' >Pricing and licencing</span></a></div><br />
<div style='height:10px' class='hr hr-invisible  '><span class='hr-inner ' ><span class='hr-inner-style'></span></span></div><br />
<div class='avia-button-wrap avia-button-left '><a href='http://www.advsolned.com/request-form-asn-filter-designer-demo/'  class='avia-button   avia-icon_select-yes-left-icon avia-color-red avia-size-large avia-position-left '  target="_blank"   ><span class='avia_button_icon avia_button_icon_left ' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></span><span class='avia_iconbox_title' >Request Download</span></a></div><br />
<div style='height:20px' class='hr hr-invisible  '><span class='hr-inner ' ><span class='hr-inner-style'></span></span></div><br />
<div class='avia-image-container  av-styling-    avia-align-left '  itemprop="ImageObject" itemscope="itemscope" itemtype="https://schema.org/ImageObject"  ><div class='avia-image-container-inner'><div class='avia-image-overlay-wrap'><img class='avia_image' src='https://www.advsolned.com/wp-content/uploads/2018/06/edn_top100-1.png' alt='' title='edn_top100' height="63" width="274"  itemprop="thumbnailUrl"  /></div></div></div></p></div></p>
</div></div>
</div>
		<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="17110"
					data-ulike-nonce="39636faa2e"
					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_17110"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	<p>The post <a rel="nofollow" href="https://www.advsolned.com/wie-entwirft-man-fir-filter-im-asn-filter-designer/">Wie entwirft man FIR-Filter im ASN Filter Designer?</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.advsolned.com/wie-entwirft-man-fir-filter-im-asn-filter-designer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ASP vs. DSP: Welche Lösung wähle ich für meine IoT-Anwendung?</title>
		<link>https://www.advsolned.com/asp-vs-dsp-welche-losung-wahle-ich-fur-meine-iot-anwendung/</link>
					<comments>https://www.advsolned.com/asp-vs-dsp-welche-losung-wahle-ich-fur-meine-iot-anwendung/#respond</comments>
		
		<dc:creator><![CDATA[ASN consultancy team]]></dc:creator>
		<pubDate>Tue, 25 May 2021 17:28:00 +0000</pubDate>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[digitalerfilter]]></category>
		<category><![CDATA[Signalverarbeitung]]></category>
		<guid isPermaLink="false">https://www.advsolned.com/?p=17102</guid>

					<description><![CDATA[<p>Wie entscheidet man sich für analoger Signalverarbeitung (ASP) oder digitaler Signalverarbeitung (DSP). ; analoge Filter oder digitale Filter?</p>
<p>The post <a rel="nofollow" href="https://www.advsolned.com/asp-vs-dsp-welche-losung-wahle-ich-fur-meine-iot-anwendung/">ASP vs. DSP: Welche Lösung wähle ich für meine IoT-Anwendung?</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div style='height:20px' class='hr hr-invisible  '><span class='hr-inner ' ><span class='hr-inner-style'></span></span></div>
<div class="flex_column av_two_third  flex_column_div av-zero-column-padding first  " style='border-radius:0px; '><section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><h2>Die Herausforderung der Sensormessung</h2>
<p>Sensoren gibt es in allen möglichen Formen und Ausprägungen. Es gibt Sensoren für Audio, Druck, Temperatur, Gewicht, Dehnung, Licht, Feuchtigkeit&#8230; die Liste ist fast endlos. Die Herausforderung für die meisten besteht darin, dass viele Sensoren, die in diesen IoT-Messanwendungen eingesetzt werden, gefiltert werden müssen, um die Leistung der Sensormessdaten zu verbessern und sie für die Analyse nutzbar zu machen. Bei der Signalverarbeitung hat man die Wahl zwischen analoger Signalverarbeitung (ASP) und digitaler Signalverarbeitung (DSP). Wie entscheidet man sich für ASP oder DSP; analoge Filter oder digitale Filter?</p>
<p>Bevor wir in die Diskussion einsteigen, sollten wir zunächst einen Blick darauf werfen, was Sensordaten eigentlich sind&#8230;.</p>
</div></section></div>
<div class="flex_column av_one_third  flex_column_div av-zero-column-padding   " style='border-radius:0px; '><div class='avia-image-container  av-styling-    avia-align-center '  itemprop="ImageObject" itemscope="itemscope" itemtype="https://schema.org/ImageObject"  ><div class='avia-image-container-inner'><div class='avia-image-overlay-wrap'><img class='avia_image' src='https://www.advsolned.com/wp-content/uploads/2018/07/sensors-1.png' alt='sensors' title='sensors' height="199" width="186"  itemprop="thumbnailUrl"  /></div></div></div></div>
<section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><p>Alle Sensoren erzeugen Messdaten. Diese Messdaten enthalten zwei Arten von Komponenten:</p>
<ul>
<li><strong>Gewünschte Komponenten</strong>, d. h. Informationen, die wir wissen wollen</li>
<li><strong>Unerwünschte Komponenten</strong>, Messrauschen, 50/60Hz-Stromleitungsstörungen, Störungen usw. &#8211; was wir nicht wissen wollen</li>
</ul>
<p>Unerwünschte Komponenten <strong>beeinträchtigen die Systemleistung</strong> und müssen herausgenommen werden.</p>
<p>Die Herausforderung für jeden Konstrukteur besteht also zunächst darin, herauszufinden, welche Aspekte der Daten wir behalten wollen. Das heißt &#8220;die erwünschten Komponenten&#8221;, und was wir herausfiltern müssen, die so genannten &#8220;unerwünschten Komponenten&#8221;. Nachdem wir festgestellt haben, was herausgefiltert werden muss, stellt sich die Frage, in welchem Bereich wir dieses Problem angehen: im analogen oder im digitalen Bereich? Jede Domäne hat ihre Vor- und Nachteile, wie wir jetzt anhand einer praktischen klassischen Sensormessung mit einer Kraftmesszelle diskutieren werden.</p>
<h2>Kraftmesszelle analog</h2>
<p>Eine klassische Sensormessung mit einer Kraftmesszelle ist unten dargestellt.</p>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-6331 size-full" style="border: 1px solid #000000; margin-top: 20px; margin-bottom: 10px;" src="http://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell.png" alt="Analoge Kraftmesszelle DC-Erregung DC-Komponente 50Hz Rauschen 50Hz Kerbfilter Tiefpassfilter" width="1128" height="377" srcset="https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell.png 1128w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell-300x100.png 300w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell-768x257.png 768w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell-1030x344.png 1030w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell-705x236.png 705w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell-450x150.png 450w" sizes="auto, (max-width: 1128px) 100vw, 1128px" /></a></p>
<p>Ein Blick auf den Hardwareaufbau zeigt, dass die Kraftmesszelle durch eine Gleichstromerregerspannung erregt wird. Die allgemeine Idee ist, dass die differentielle Brückenspannung des Sensors durch den Instrumentenverstärker (IA) verstärkt wird, wenn eine Spannung angelegt wird.</p>
<p><em>Für diejenigen unter Ihnen, die mit dieser Art von Technologie nicht vertraut sind, ist eine Kraftmesszelle ein Dehnungsmesssensor, der aus 4 Dehnungsmessstreifen besteht und auch als Wheatstone-Brücke bezeichnet wird, daher die Bezeichnung <strong>Brückensensor</strong>.</em></p>
<p>Wenn wir die Signale im Schaltplan analysieren, sehen wir, dass die Differenzspannung durch 2 Filter geleitet wird, um Netzstörungen zu beseitigen und das Messrauschen zu reduzieren.</p>
<h3><strong>Was sind die Herausforderungen?</strong></h3>
<p>Der Instrumentenverstärker (IA) hat hochohmige Eingänge, so dass EMI-Filter (elektromagnetische Störungen) leicht an die Eingänge angeschlossen werden können. Fehlanpassungen bei diesen Filtern verschlechtern jedoch im Allgemeinen das Gleichtaktunterdrückungsverhältnis des Instrumentenverstärkers, was unerwünscht ist.</p>
<p>Der Instrumentenverstärker hat in der Regel eine hohe Verstärkung (100 ist recht typisch), so dass jede unerwünschte Differenzspannung an den Eingängen verstärkt wird. Bei den Filtern hängt die Kerbentiefe des Filters zur Unterdrückung von Stromleitungen (50Hz/60Hz) von den Komponententoleranzen ab und variiert im Laufe der Zeit und mit der Temperatur&#8230; Dies ist problematisch, wie wir im folgenden Abschnitt erörtern werden.</p>
<p>Schließlich erfordern alle analogen Filter ein sorgfältiges PCB-Layout und beanspruchen wertvollen Platz auf der Leiterplatte, was bei vielen modernen Geräten unerwünscht ist.</p>
<h2>Loadcell digital &#8211; ist digital besser?</h2>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-6329 size-full" style="margin-top: 20px; margin-bottom: 10px; border: 1px solid #000000;" src="https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell.png" alt="Signalverarbeitung digitale Filter DC-Erregung, 24bit ADC DC-Komponente 50Hz Rauschen 50Hz Kerbfilter Tiefpassfilter" width="1114" height="404" srcset="https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell.png 1114w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell-300x109.png 300w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell-768x279.png 768w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell-1030x374.png 1030w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell-705x256.png 705w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell-450x163.png 450w" sizes="auto, (max-width: 1114px) 100vw, 1114px" /></a></p>
<p>Wenn wir den Instrumentenverstärker durch einen 24-Bit-Sigma-Delta-ADC (Analog-Digital-Wandler) ersetzen, vereinfachen wir die Schaltung &#8211; obwohl viele ADCs keine hohe Impedanz an ihren Eingängen vertragen, was für ein gutes RFI-Filterdesign problematisch sein kann.</p>
<p>Einige Sigma-Delta-Bausteine haben jedoch einen eingebauten 50/60Hz-Sperrfilter, der die Filteranforderungen vereinfacht. Obwohl diese Bausteine teurer sind und die Wahl der Abtastfrequenz begrenzt ist, können sie für einige Anwendungen gut genug sein.</p>
<h2>ASP vs DSP</h2>
<p>Welcher Bereich eignet sich also am besten für die Lösung unserer Messaufgabe, d. h. verwenden wir analoge Signalverarbeitung (ASP) oder digitale Signalverarbeitung (DSP)? Um diese Frage objektiv beantworten zu können, müssen wir zunächst die Vor- und Nachteile der einzelnen Bereiche aufschlüsseln.</p>
<h3><strong>Analoge Filter</strong></h3>
<p>Schauen wir uns zunächst eine Implementierung mit ASP an.</p>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-6330 size-full" style="border: 1px solid #000000; margin-top: 10px; margin-bottom: 10px;" src="https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt.png" alt="Analoge 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="auto, (max-width: 1224px) 100vw, 1224px" /></a></p>
<p>Der offensichtlichste Vorteil ist, dass analoge Filter eine hervorragende Auflösung haben, da es keine &#8220;Anzahl von Bits&#8221; zu berücksichtigen gibt. Analoge Filter haben gute EMV-Eigenschaften, da es kein takterzeugendes Rauschen gibt. Es gibt keine Aliasing-Effekte, was sicherlich auf die einfacheren Operationsverstärker zutrifft, die keine ausgeklügelten Zerhackungs- oder Autokalibrierungsschaltungen eingebaut haben, und analoge Designs können billig sein, was für kostenempfindliche Anwendungen großartig ist.</p>
<h3><strong>Klingt gut, aber was ist die schlechte Nachricht?</strong></h3>
<p>Analoge Filter haben eine Reihe von Nachteilen, die die Filterleistung beeinträchtigen, z. B. die Alterung der Bauteile, Temperaturdrift und Bauteiltoleranz. Außerdem erfordert eine gute Leistung gute Fähigkeiten im Analogdesign und ein gutes PCB-Layout, was auf dem heutigen Markt schwer zu finden ist.</p>
<p><strong>Ein großer Minuspunkt ist, dass der Frequenzgang des Filters fest bleibt</strong>, d. h. ein Butterworth-Filter wird immer ein Butterworth-Filter bleiben &#8211; jede Änderung des Frequenzgangs würde einen physischen Austausch von Komponenten auf der Leiterplatte erfordern &#8211; nicht ideal!</p>
<h3><strong>Digitale Filter</strong></h3>
<p>Schauen wir uns nun eine Implementierung mit DSP an.</p>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-6328 size-full" style="border: 1px solid #000000; margin-top: 20px; margin-bottom: 10px;" src="https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt.png" alt="Signalverarbeitung DSP Digitalfilter ADC ALU DAC Mikrocontroller" width="1172" height="230" srcset="https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt.png 1172w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt-300x59.png 300w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt-768x151.png 768w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt-1030x202.png 1030w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt-705x138.png 705w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt-450x88.png 450w" sizes="auto, (max-width: 1172px) 100vw, 1172px" /></a></p>
<p>Der erste Eindruck ist, dass eine digitale Lösung komplizierter ist, wie oben bei den fünf Bausteinen zu sehen ist. Digitale Filter haben jedoch eine hohe Wiederholbarkeit der Eigenschaften, und nehmen wir als Beispiel an, dass Sie nach der Optimierung Ihres Filterentwurfs 1000 Messmodule herstellen möchten. Mit <strong>einer digitalen Lösung können Sie sicher sein, dass die Leistung Ihres Filters in allen Modulen identisch sein wird</strong>. Bei einer analogen Lösung ist dies sicherlich nicht der Fall, da Bauteiltoleranz, Bauteilalterung und Temperaturdrift dazu führen, dass der Filter jedes Moduls seine eigenen Eigenschaften hat.</p>
<p>Digitale Filter sind anpassungsfähig und flexibel. Wir können einen Filter mit einem beliebigen Frequenzgang entwerfen und implementieren, ihn einsetzen und dann die Filterkoeffizienten aktualisieren, ohne etwas auf der Leiterplatte zu ändern!</p>
<p>Außerdem ist es einfach, Filter mit <strong>linearer Phase und bei sehr niedrigen Abtastfrequenzen</strong> zu entwickeln &#8211; zwei Dinge, die bei analogen Filtern schwierig sind.</p>
<h3><strong>Klingt gut, aber was ist die schlechte Nachricht?</strong></h3>
<p>Die Auswirkung von Aliasing und bei Festkomma-Designs die endliche Wortlänge müssen berücksichtigt werden, einschließlich der Begrenzung des ADC und DAC. Da es eine Taktquelle gibt, werden digitale Designs mehr EMI erzeugen als analoge Filter.</p>
<h2>Schlussfolgerung</h2>
<p>Bei der Entwicklung moderner IoT-Sensormessanwendungen bieten digitale Filter im Vergleich zu ihren analogen Gegenstücken ein höheres Maß an Designflexibilität und eine hohe Wiederholbarkeit der Eigenschaften.</p>
<p>Mit dem Aufkommen moderner Prozessortechnologie und Design-Tools werden schätzungsweise 80 % der intelligenten IoT-Sensorgeräte derzeit mit digitalen Bausteinen, wie der Cortex-M-Familie von Arm, eingesetzt. Der Arm Cortex-M4 ist bei Hunderten von Siliziumherstellern sehr beliebt, da er DSP-Funktionen bietet, die sonst nur in teureren DSPs zu finden sind. Die Implementierung wird durch die starke Partnerschaft von ASN mit Arm weiter vereinfacht, die gemeinsam ein reichhaltiges Angebot an einfach zu bedienenden Filter-Design-Tools und ein <a href="http://www.advsolned.com/ecosystem/"><span style="color: #3366ff;">filter design tooling</span></a> and a <span style="color: #3366ff;"><a style="color: #3366ff;" href="http://www2.keil.com/mdk5/cmsis/asnfd">kostenloses DSP-Software-Framework (CMSIS-DSP)</a></span> bereitstellen. Diese Tools und das gut dokumentierte Software-Framework ermöglichen es Ihnen, Ihre IoT-Anwendung innerhalb weniger Minuten zum Laufen zu bringen.</p>
</div></section>
		<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="17102"
					data-ulike-nonce="09e49da1b5"
					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_17102"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	<p>The post <a rel="nofollow" href="https://www.advsolned.com/asp-vs-dsp-welche-losung-wahle-ich-fur-meine-iot-anwendung/">ASP vs. DSP: Welche Lösung wähle ich für meine IoT-Anwendung?</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.advsolned.com/asp-vs-dsp-welche-losung-wahle-ich-fur-meine-iot-anwendung/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Filtres Analogiques ou Filtres Numériques : lequel choisir pour mon application IoT?</title>
		<link>https://www.advsolned.com/traitement-analogique-du-signal-asp-ou-le-traitement-numerique-du-signal-dsp-lequel-choisir/</link>
					<comments>https://www.advsolned.com/traitement-analogique-du-signal-asp-ou-le-traitement-numerique-du-signal-dsp-lequel-choisir/#respond</comments>
		
		<dc:creator><![CDATA[ASN consultancy team]]></dc:creator>
		<pubDate>Tue, 25 May 2021 15:51:00 +0000</pubDate>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[traitement numérique]]></category>
		<category><![CDATA[Traitementanalogique]]></category>
		<guid isPermaLink="false">https://www.advsolned.com/?p=17105</guid>

					<description><![CDATA[<p>Comment choisir entre le traitement du signal analogique et le traitement du signal numérique , entre filtres analogiques et filtres numériques ?</p>
<p>The post <a rel="nofollow" href="https://www.advsolned.com/traitement-analogique-du-signal-asp-ou-le-traitement-numerique-du-signal-dsp-lequel-choisir/">Filtres Analogiques ou Filtres Numériques : lequel choisir pour mon application IoT?</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div style='height:20px' class='hr hr-invisible  '><span class='hr-inner ' ><span class='hr-inner-style'></span></span></div>
<div class="flex_column av_two_third  flex_column_div av-zero-column-padding first  " style='border-radius:0px; '><section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><h2>Le défi de la mesure des capteurs</h2>
<p>Les capteurs se présentent sous toutes sortes de formes&#8230; Il existe des capteurs pour l&#8217;audio, la pression, la température, le poids, la tension, la lumière, l&#8217;humidité&#8230; la liste est presque infinie. Le défi pour la plupart d&#8217;entre eux est que de nombreux capteurs utilisés dans ces applications de mesure IoT nécessitent un filtrage afin d&#8217;améliorer les performances des données de mesure du capteur et de les rendre utiles pour l&#8217;analyse. Dans le traitement du signal, il y a le choix entre le traitement du signal analogique (ASP) et le traitement du signal numérique (DSP). Comment choisir entre ASP et DSP, entre filtres analogiques et filtres numériques ?</p>
<p>Avant d&#8217;entrer dans le vif du sujet, voyons d&#8217;abord ce que sont réellement les données des capteurs&#8230;..</p>
</div></section></div>
<div class="flex_column av_one_third  flex_column_div av-zero-column-padding   " style='border-radius:0px; '><div class='avia-image-container  av-styling-    avia-align-center '  itemprop="ImageObject" itemscope="itemscope" itemtype="https://schema.org/ImageObject"  ><div class='avia-image-container-inner'><div class='avia-image-overlay-wrap'><img class='avia_image' src='https://www.advsolned.com/wp-content/uploads/2018/07/sensors-1.png' alt='sensors' title='sensors' height="199" width="186"  itemprop="thumbnailUrl"  /></div></div></div></div>
<section class="av_textblock_section "  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock  '   itemprop="text" ><p>Tous les capteurs produisent des données de mesure. Ces données de mesure contiennent deux types de composants:</p>
<ul>
<li>Les <strong>composants souhaités</strong>, c&#8217;est-à-dire les informations que nous voulons connaître</li>
<li>Les <strong>composants indésirables</strong>, c&#8217;est-à-dire le bruit de la mesure, les interférences des lignes électriques 50/60Hz, les parasites, etc./li></li>
</ul>
<p>Les composants indésirables <strong>dégradent les performances du système</strong> et doivent être éliminés.</p>
<p>Ainsi, le défi pour tout concepteur est d&#8217;abord d&#8217;identifier les aspects des données que nous voulons conserver, c&#8217;est-à-dire les &#8220;composants souhaités&#8221;, et ce que nous devons filtrer, les &#8220;composants indésirables&#8221;. Après avoir déterminé ce qui doit être filtré, le défi consiste à savoir dans quel domaine nous devons aborder ce problème, c&#8217;est-à-dire dans le domaine analogique ou dans le domaine numérique. Chaque domaine a ses avantages et ses inconvénients, comme nous allons le voir maintenant dans le cas d&#8217;un défi pratique de mesure de capteur classique utilisant un capteur de force.</p>
<h2>Capteur de charge analogique</h2>
<p>Un défi classique de mesure de capteur utilisant un capteur de charge est illustré ci-dessous.</p>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-6331 size-full" style="border: 1px solid #000000; margin-top: 20px; margin-bottom: 10px;" src="http://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell.png" alt="Capteur analogique Excitation CC Composante CC Bruit 50 Hz Filtre coupe-bande 50 Hz Filtre passe-bas" width="1128" height="377" srcset="https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell.png 1128w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell-300x100.png 300w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell-768x257.png 768w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell-1030x344.png 1030w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell-705x236.png 705w, https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcell-450x150.png 450w" sizes="auto, (max-width: 1128px) 100vw, 1128px" /></a></p>
<p>En examinant la configuration matérielle, nous constatons que le capteur est excité par une tension d&#8217;excitation continue. L&#8217;idée générale est que la tension différentielle du pont du capteur est amplifiée par l&#8217;amplificateur d&#8217;instrumentation (IA) lorsqu&#8217;une contrainte est appliquée.</p>
<p><em>Pour ceux d&#8217;entre vous qui ne sont pas familiers avec ce type de technologie, une cellule de charge est un capteur de mesure de contrainte qui est composé de 4 jauges de contrainte, il est également appelé <strong>pont de Wheatstone </strong>, d&#8217;où la terminologie de capteur en pont.</em></p>
<p>En analysant les signaux dans le schéma, nous voyons que la tension différentielle passe par 2 filtres afin d&#8217;éliminer les interférences des lignes électriques et de réduire le bruit de mesure.</p>
<h3><strong>Quels sont les défis à relever?</strong></h3>
<p>L&#8217;amplificateur d&#8217;instrumentation (IA) possède des entrées à haute impédance, ce qui permet de connecter facilement des filtres EMI (interférence électromagnétique) aux entrées. Cependant, tout décalage avec ces filtres dégrade généralement le taux de réjection en mode commun de l&#8217;amplificateur d&#8217;instrumentation, ce qui n&#8217;est pas souhaitable.</p>
<p>L&#8217;amplificateur d&#8217;instrumentation a généralement un gain important (100 est assez typique), donc toute tension différentielle indésirable sur les entrées sera amplifiée. En ce qui concerne les filtres, la profondeur de l&#8217;encoche du filtre d&#8217;annulation des courants porteurs en ligne (50Hz/60Hz) dépendra des tolérances des composants et variera avec le temps et la température&#8230; Cela pose un problème, comme nous le verrons dans la section suivante.</p>
<p>Enfin, le ou les filtres analogiques nécessitent une disposition minutieuse du circuit imprimé et occupent un espace précieux sur la carte, ce qui n&#8217;est pas souhaitable pour de nombreux appareils modernes.</p>
<h2>Capteur de charge numérique &#8211; le numérique est-il meilleur ?</h2>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-6329 size-full" style="margin-top: 20px; margin-bottom: 10px; border: 1px solid #000000;" src="https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell.png" alt="Traitement du signal Filtres numériques Excitation CC, CAN 24 bits Composante CC Bruit 50Hz Filtre coupe-bande 50Hz Filtre passe-bas" width="1114" height="404" srcset="https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell.png 1114w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell-300x109.png 300w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell-768x279.png 768w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell-1030x374.png 1030w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell-705x256.png 705w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcell-450x163.png 450w" sizes="auto, (max-width: 1114px) 100vw, 1114px" /></a></p>
<p>En remplaçant l&#8217;amplificateur d&#8217;instrumentation par un ADC (convertisseur analogique-numérique) sigma-delta 24 bits, nous simplifions le circuit &#8211; bien que de nombreux ADC ne tolèrent pas une impédance élevée à leurs entrées, ce qui peut être problématique pour la conception d&#8217;un bon filtre RFI (interférences radioélectriques).</p>
<p>Néanmoins, certains dispositifs sigma-delta possèdent un filtre coupe-bande 50/60 Hz intégré qui simplifie les exigences de filtrage. Bien que ces dispositifs soient plus chers et que le choix de la fréquence d&#8217;échantillonnage soit limité, ils peuvent être suffisants pour certaines applications.</p>
<h2>Traitement analogique du signal (ASP) ou le traitement numérique du signal (DSP)?</h2>
<p>Alors, quel est le domaine le plus approprié pour résoudre notre problème de mesure, c&#8217;est-à-dire utiliser le traitement analogique du signal (ASP) ou le traitement numérique du signal (DSP) ? Pour répondre objectivement à cette question, nous devons d&#8217;abord analyser les avantages et les inconvénients de chaque domaine.</p>
<h3><strong>Filtres analogiques</strong></h3>
<p>Examinons d&#8217;abord une mise en œuvre utilisant l&#8217;ASP.</p>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-6330 size-full" style="border: 1px solid #000000; margin-top: 10px; margin-bottom: 10px;" src="https://www.advsolned.com/wp-content/uploads/2018/07/analog_loadcellfilt.png" alt="Filtre analogique" 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="auto, (max-width: 1224px) 100vw, 1224px" /></a></p>
<p>L&#8217;avantage le plus évident est que les filtres analogiques ont une excellente résolution, car il n&#8217;y a pas de &#8220;nombre de bits&#8221; à prendre en compte. Les filtres analogiques ont de bonnes propriétés CEM car il n&#8217;y a pas de bruit généré par l&#8217;horloge. Il n&#8217;y a pas d&#8217;effets de repliement, ce qui est certainement vrai pour les amplificateurs opérationnels les plus simples, qui n&#8217;ont pas de circuit de découpage ou d&#8217;auto-calibrage sophistiqué intégré, et les conceptions analogiques peuvent être bon marché, ce qui est idéal pour les applications sensibles au coût.</p>
<h3><strong>Ça parait bien, mais quelles sont les mauvaises nouvelles ?</strong></h3>
<p>Les filtres analogiques présentent plusieurs inconvénients importants qui affectent leurs performances, tels que le vieillissement des composants, la dérive en température et la tolérance des composants. De plus, de bonnes performances requièrent de bonnes compétences en conception analogique et une bonne disposition des circuits imprimés, ce qui est difficile à trouver sur le marché actuel des compétences.</p>
<p><strong>Un gros point négatif est que la réponse en fréquence du filtre reste fixe</strong>, c&#8217;est-à-dire qu&#8217;un filtre de Butterworth sera toujours un filtre de Butterworth &#8211; toute modification de la réponse en fréquence nécessiterait de changer physiquement les composants sur le PCB &#8211; pas idéal!</p>
<h3><strong>Filtres numériques</strong></h3>
<p>Examinons maintenant une mise en œuvre utilisant le DSP.</p>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-6328 size-full" style="border: 1px solid #000000; margin-top: 20px; margin-bottom: 10px;" src="https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt.png" alt="Traitement du signal DSP filtre numérique ADC ALU DAC microcontrôleur" width="1172" height="230" srcset="https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt.png 1172w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt-300x59.png 300w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt-768x151.png 768w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt-1030x202.png 1030w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt-705x138.png 705w, https://www.advsolned.com/wp-content/uploads/2018/07/digital_loadcellfilt-450x88.png 450w" sizes="auto, (max-width: 1172px) 100vw, 1172px" /></a></p>
<p>La première impression est qu&#8217;une solution numérique est plus compliquée, comme on le voit ci-dessus avec les cinq blocs de construction. Cependant, les filtres numériques présentent une grande répétabilité des caractéristiques. À titre d&#8217;exemple, disons que vous souhaitez fabriquer 1000 modules de mesure après avoir optimisé la conception de votre filtre. Avec <strong>une solution numérique, vous pouvez être sûr que les performances de votre filtre seront identiques dans tous les modules</strong>. Ce n&#8217;est certainement pas le cas avec l&#8217;analogique, car la tolérance des composants, leur vieillissement et la dérive de la température font que le filtre de chaque module aura ses propres caractéristiques.</p>
<p>Les filtres numériques sont adaptatifs et flexibles, nous pouvons concevoir et mettre en œuvre un filtre avec la réponse en fréquence que nous voulons, le déployer et ensuite mettre à jour les coefficients du filtre sans rien changer sur le PCB !</p>
<p>Il est également facile de concevoir des filtres avec une phase linéaire et à des fréquences d&#8217;échantillonnage très basses &#8211; deux choses qui sont délicates avec l&#8217;analogique.</p>
<h3><strong>Ça parait bien, mais quelles sont les mauvaises nouvelles?</strong></h3>
<p>L&#8217;effet d&#8217;aliasing et, en cas de conception en virgule fixe, les problèmes de longueur de mot finie doivent être pris en compte, y compris la limitation de l&#8217;ADC et du DAC. Comme il y a une source d&#8217;horloge, les conceptions numériques produiront plus d&#8217;EMI que les filtres analogiques.</p>
<h2>Conclusion</h2>
<p>Lors de la conception d&#8217;applications modernes de mesure de capteurs IoT, les filtres numériques offrent un plus grand degré de flexibilité de conception et une grande répétabilité des caractéristiques par rapport à leurs homologues analogiques.</p>
<p>Avec l&#8217;avènement de la technologie des processeurs modernes et des outils de conception, on estime qu&#8217;environ 80 % des dispositifs de capteurs intelligents IoT sont actuellement déployés à l&#8217;aide de dispositifs numériques, tels que la famille Cortex-M d&#8217;Arm. Le Cortex-M4 d&#8217;Arm est un choix très populaire auprès de centaines de fournisseurs de silicium, car il offre des fonctionnalités DSP que l&#8217;on trouve traditionnellement dans des DSP plus coûteux. L&#8217;implémentation est encore plus simplifiée grâce au partenariat fort entre ASN et Arm qui ensemble fournissent une offre riche d&#8217;outils de <a href="http://www.advsolned.com/ecosystem/"><span style="color: #3366ff;">conception de filtres faciles</span></a> à utiliser et un cadre logiciel <span style="color: #3366ff;"><a style="color: #3366ff;" href="http://www2.keil.com/mdk5/cmsis/asnfd">DSP gratuit (CMSIS-DSP)</a></span>. Ces outils et ce cadre logiciel bien documenté vous permettent de mettre en place votre application IoT en quelques minutes.</p>
</div></section>
		<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="17105"
					data-ulike-nonce="303df567f9"
					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_17105"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	<p>The post <a rel="nofollow" href="https://www.advsolned.com/traitement-analogique-du-signal-asp-ou-le-traitement-numerique-du-signal-dsp-lequel-choisir/">Filtres Analogiques ou Filtres Numériques : lequel choisir pour mon application IoT?</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.advsolned.com/traitement-analogique-du-signal-asp-ou-le-traitement-numerique-du-signal-dsp-lequel-choisir/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Was ist ein Butterworth-Filter</title>
		<link>https://www.advsolned.com/was-ist-ein-butterworth-filter/</link>
					<comments>https://www.advsolned.com/was-ist-ein-butterworth-filter/#respond</comments>
		
		<dc:creator><![CDATA[ASN consultancy team]]></dc:creator>
		<pubDate>Tue, 25 May 2021 14:58:00 +0000</pubDate>
				<category><![CDATA[Marketing]]></category>
		<guid isPermaLink="false">https://www.advsolned.com/?p=17195</guid>

					<description><![CDATA[<p>Was ist ein Butterworth-Filter? Glatter monotoner Frequenzgang, Langsamster Roll-Off für äquivalente Ordnung, Höchste Ordnung von unterstützten Prototypen</p>
<p>The post <a rel="nofollow" href="https://www.advsolned.com/was-ist-ein-butterworth-filter/">Was ist ein Butterworth-Filter</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" ><p><strong>Syntax</strong><br />
<code>Hd = butter (Order, Frequencies, Rp, Rs, Type, DFormat)</code></p>
<p><strong>Beschreibung</strong></p>
<p>Klassischer IIR-Butterworth-Filterentwurf</p>
<ul>
<li>Glatter monotoner Frequenzgang (keine Welligkeit)</li>
<li>Langsamster Roll-Off für äquivalente Ordnung</li>
<li>Höchste Ordnung von allen unterstützten Prototypen</li>
</ul>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/08/Butterworth-495-1.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-7345 size-full" src="https://www.advsolned.com/wp-content/uploads/2018/08/Butterworth-495-1.png" alt="Butterworth-Filter" width="495" height="502" srcset="https://www.advsolned.com/wp-content/uploads/2018/08/Butterworth-495-1.png 495w, https://www.advsolned.com/wp-content/uploads/2018/08/Butterworth-495-1-80x80.png 80w, https://www.advsolned.com/wp-content/uploads/2018/08/Butterworth-495-1-296x300.png 296w, https://www.advsolned.com/wp-content/uploads/2018/08/Butterworth-495-1-36x36.png 36w, https://www.advsolned.com/wp-content/uploads/2018/08/Butterworth-495-1-450x456.png 450w" sizes="auto, (max-width: 495px) 100vw, 495px" /></a></p>
<p><span style="font-family: courier;">Order</span>: kann bis zu  <span style="font-family: courier;">20</span> (Professional) und bis zu <span style="font-family: courier;">10</span> (Educational) Edition angegeben werden. Wenn Sie die Ordnung auf <span style="font-family: courier;">Order</span> setzen, wird der Algorithmus zur automatischen Bestimmung der Ordnung aktiviert.</p>
<p><span style="font-family: courier;">Frequencies</span>: Tiefpass- und Hochpassfilter haben ein Übergangsband und benötigen daher zwei Frequenzen (d.h. untere und obere Grenzfrequenz des Übergangsbandes). Für Bandpass- und Bandsperrfilter werden vier Frequenzen benötigt (d. h. zwei Übergangsbänder). Alle Frequenzen müssen in aufsteigender Reihenfolge und &lt;  Nyquist sein (siehe das nachstehende Beispiel).</p>
<p><span style="font-family: courier;">Rp</span>: Welligkeit des Durchlassbereichs in dB. Dies ist eine falsche Bezeichnung, da das Butterworth-Filter einen maximal flachen Durchlassbereich hat. Ein guter Standardwert ist 0,001 dB, aber eine Erhöhung dieses Wertes beeinflusst die Position der unteren Grenzfrequenz des Filters.</p>
<p><span style="font-family: courier;">Rs</span>: Dämpfung des Sperrbereichs in dB. Dies ist eine etwas falsche Bezeichnung, da das Butterworth-Filter ein maximal flaches Sperrband hat, was bedeutet, dass die Sperrbanddämpfung (unter der Annahme, dass die korrekte Filterordnung angegeben ist) ≥ der Sperrbandspezifikation ist.</p>
<p><span style="font-family: courier;">Type</span>: Die Butterworth-Methode ermöglicht den Entwurf von <span style="font-family: courier;">lowpass</span>, <span style="font-family: courier;">highpass</span>, <span style="font-family: courier;">bandpass</span> bzw.<span style="font-family: courier;">bandstop</span>filtern.</p>
<p><span style="font-family: courier;">Hd</span>: Die Butterworth-Methode entwirft ein IIR-Butterworth-Filter auf der Grundlage der eingegebenen Spezifikationen und legt die Übertragungsfunktion (d. h. Zähler, Nenner, Verstärkung) in einem digitalen Filterobjekt, <span style="font-family: courier;">Hd</span>, ab. Das digitale Filterobjekt kann dann mit anderen Methoden kombiniert werden, falls dies erforderlich ist. Für ein digitales Filterobjekt Hd werden durch den Aufruf von span style=&#8221;font-family: courier;&#8221;>getnum(Hd)</span>, <span style="font-family: courier;">getden(Hd)</span> und <span style="font-family: courier;">getgain(Hd)</span>die Zähler-, Nenner- bzw. Verstärkungskoeffizienten extrahiert &#8211; siehe unten.</p>
<p><span style="font-family: courier;">DFormat</span>: ermöglicht die Angabe des Anzeigeformats des resultierenden digitalen Filterobjekts.</p>
<table width="833">
<tbody>
<tr>
<td><code>symbolic</code></td>
<td>Zeigt eine symbolische Darstellung des Filterobjekts an. Wenn die Ordnung > 10 ist, wird die symbolische Anzeigeoption überschrieben und auf numerisch gesetzt.</td>
</tr>
<tr>
<td><code>numeric</code></td>
<td>Anzeige einer Matrixdarstellung des Filterobjekts</td>
</tr>
<tr>
<td><code>void</code></td>
<td>Ein Filterobjekt erzeugen, aber keine Ausgabe anzeigen</td>
</tr>
</tbody>
</table>
<p><strong>Beispiel</strong><br />
[code lang=&#8221;java&#8221;]<br />
ClearH1; // clear primary filter from cascade<br />
ShowH2DM; // show DM on chart</p>
<p>Main()</p>
<p>Rp=0.001;<br />
Rs=80;<br />
F={50,120};<br />
Hd=butter(0,F,Rp,Rs,&amp;amp;amp;amp;amp;quot;lowpass&amp;amp;amp;amp;amp;quot;,&amp;amp;amp;amp;amp;quot;symbolic&amp;amp;amp;amp;amp;quot;);</p>
<p>F={50,80,100,120};<br />
Hd=butter(0,F,Rp,Rs,&amp;amp;amp;amp;amp;quot;bandpass&amp;amp;amp;amp;amp;quot;,&amp;amp;amp;amp;amp;quot;symbolic&amp;amp;amp;amp;amp;quot;);</p>
<p>Num = getnum(Hd); // define numerator coefficients<br />
Den = getden(Hd); // define denominator coefficients<br />
Gain = getgain(Hd); // define gain [/code]</p>
<h2>Siehe auch</h2>
<p><span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/bessel-filter/">bessel</a></span>&nbsp;<span style="color: #999999;">/</span> <span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/butterworth-filter/">butter</a> <span style="color: #999999;">/</span> <a style="color: #0000ff;" href="https://www.advsolned.com/chebyshev-filter/">cheby1</a></span> <span style="color: #999999;">/ </span><span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/chebyshev-ii-filter/">cheby2</a> <span style="color: #999999;">/</span></span>&nbsp;<span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/elliptic-filter/">ellip <span style="color: #999999;">/</span></a></span>&nbsp;<span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/arbitrary-response-magnitude-and-phase-filter/">arbmagphase</a> <span style="color: #999999;">/</span></span>&nbsp;<a href="https://www.advsolned.com/complex-frequency-shift-transformation/"><span style="color: #0000ff;">cplxfreqshift</span></a> <span style="color: #999999;">/</span> <a href="https://www.advsolned.com/dc-component-remover/"><span style="color: #0000ff;">dcremover</span></a> <span style="color: #999999;">/</span> <a href="https://www.advsolned.com/notch-filter/"><span style="color: #0000ff;">notch</span></a> <span style="color: #999999;">/</span> <span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/peaking-bell-filter/">peaking</a></span></p>
</div></section>



<p class="wp-block-paragraph"></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="17195"
					data-ulike-nonce="7438bdc3fa"
					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_17195"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	<p>The post <a rel="nofollow" href="https://www.advsolned.com/was-ist-ein-butterworth-filter/">Was ist ein Butterworth-Filter</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.advsolned.com/was-ist-ein-butterworth-filter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Wie exportiert man entworfene IIR/FIR-Filter nach Matlab?</title>
		<link>https://www.advsolned.com/wie-exportiert-man-entworfene-iir-fir-filter-nach-matlab/</link>
					<comments>https://www.advsolned.com/wie-exportiert-man-entworfene-iir-fir-filter-nach-matlab/#respond</comments>
		
		<dc:creator><![CDATA[ASN consultancy team]]></dc:creator>
		<pubDate>Tue, 25 May 2021 14:23:00 +0000</pubDate>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Export Filter]]></category>
		<guid isPermaLink="false">https://www.advsolned.com/?p=17064</guid>

					<description><![CDATA[<p>Der ASN Filter Designer vereinfacht durch seinen automatischen Codegenerator den Export eines entworfenen Filters nach Matlab erheblich. Der Code-Generator unterstützt alle Aspekte des ASN Filter Designer</p>
<p>The post <a rel="nofollow" href="https://www.advsolned.com/wie-exportiert-man-entworfene-iir-fir-filter-nach-matlab/">Wie exportiert man entworfene IIR/FIR-Filter nach Matlab?</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">Für viele IoT-Sensormessanwendungen ist ein IIR- oder FIR-Filter nur eine der vielen Komponenten, die für einen Algorithmus benötigt werden. Dabei kann es sich um einen Powerline Interference Canceller für eine biomedizinische Anwendung oder sogar um einen einfacheren DC-Wägezellenfilter handeln. In vielen Fällen ist es notwendig, einen Filter in einen vollständigen Algorithmus in einem anderen Bereich zu integrieren.</p>



<p class="wp-block-paragraph"><a style="color: #0000ff;" href="http://www.mathworks.com">Matlab</a> ist eine etablierte, von Mathworks entwickelte Sprache für numerische Berechnungen, die den Entwurf von Algorithmen, Matrixdatenmanipulationen und Datenanalysen ermöglicht. Das Produkt bietet eine breite Palette von Algorithmen und Unterstützungsfunktionen für Signalverarbeitungsanwendungen und ist daher bei vielen Wissenschaftlern und Ingenieuren weltweit sehr beliebt.</p>



<h2 class="wp-block-heading">ASN Filter Designer automatischer Code-Generator für Matlab</h2>



<p class="wp-block-paragraph">Der ASN Filter Designer vereinfacht durch seinen automatischen Codegenerator den Export eines entworfenen Filters nach Matlab erheblich. Der Code-Generator unterstützt alle Aspekte des ASN Filter Designer, so dass ein komplettes Design, bestehend aus H1, H2 und H3 Filtern und mathematischen Operatoren, vollständig in einen Algorithmus in Matlab integriert werden kann.</p>



<div class="wp-block-columns 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:66.66%">
<p class="wp-block-paragraph">Auf den Matlab-Codegenerator kann über die Filterzusammenfassungsoptionen zugegriffen werden (wie rechts dargestellt). Wenn Sie diese Option auswählen, wird automatisch eine Matlab <code>.m</code>-Datei auf der Grundlage des aktuellen Entwurfs erzeugt.<span class="" style="display:block;clear:both;height: 0px;padding-top: 10px;border-top-width:0px;border-bottom-width:0px;"></span></p>
</div>



<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"><img loading="lazy" decoding="async" width="169" height="146" src="https://www.advsolned.com/wp-content/uploads/2020/04/matlabcodegen.png" alt="" class="wp-image-12162"/></figure>
</div>
</div>



<div class="wp-block-columns 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"><img loading="lazy" decoding="async" width="248" height="113" src="https://www.advsolned.com/wp-content/uploads/2020/04/frameworkfiles-1-1.png" alt="" class="wp-image-12163"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<p class="wp-block-paragraph">Eine bequeme Verknüpfung zu den relevanten Framework-Dateien und Beispielen ist in der Symbolleiste Filterzusammenfassung über das Ordnersymbol verfügbar (siehe links).</p>



<p class="wp-block-paragraph">Mit Hilfe der drei Framework-Dateien können Sie eine Demo Ihrer Wahl auf der Grundlage der exportierten Filter-Spezifikationen erstellen. Das <strong>Framework unterstützt sowohl reelle als auch komplexe Filter nur in Fließkomma</strong>.&nbsp;</p>
</div>
</div>



<h3 class="wp-block-heading"><strong>Framework-Dateien und Beispiele</strong></h3>



<p class="wp-block-paragraph">Um den generierten Code in Matlab zu verwenden, ohne die <a href="https://nl.mathworks.com/products/signal.html">Signal Processing Toolbox</a> zu benötigen, werden die folgenden drei Framework-Dateien im Verzeichnis <code>\Matlab</code> des ASN Filter Designers bereitgestellt:</p>



<p class="wp-block-paragraph"><code>ASNFDMatlabFilterData.m</code><br><code>ASNFDMatlabImport.m</code><br><code>ASNFDFilter.m</code></p>



<p class="wp-block-paragraph">Diese Framework-Dateien haben keine speziellen Matlab-Toolbox-Abhängigkeiten, und das Beispielskript <code>ASNFDMatlabDemo.m</code> demonstriert die Einfachheit, mit der das Framework in Ihre Anwendung für Ihren entworfenen Filter integriert werden kann. In <code>ASNFDMatlabDemo.m</code> sind mehrere Beispielfilter enthalten, die mit dem automatischen Codegenerator erzeugt wurden, damit Sie gleich loslegen können!</p>



<h2 class="wp-block-heading">Vergleich der Ergebnisse mit Matlab&#8217;s Signal Processing Toolbox</h2>



<p class="wp-block-paragraph">Es ist manchmal aufschlussreich, die Ergebnisse der DSP-Bibliotheksfunktionen des ASN Filter Designers mit denen der Signal Processing Toolbox von Matlab zu vergleichen.</p>



<p class="wp-block-paragraph">Entwurf eines IIR-Tschebyscheff-Filters vom Typ I mit den folgenden Spezifikationen:</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Fs:</strong></td><td>500Hz</td></tr><tr><td><strong>Passband frequency:</strong></td><td>0-25Hz</td></tr><tr><td><strong>Type:</strong></td><td>Lowpass</td></tr><tr><td><strong>Method:</strong></td><td>Chebyshev Type I</td></tr><tr><td><strong>Stopband attenuation @ 125Hz:</strong></td><td>≥ 80 dB</td></tr><tr><td><strong>Passband ripple:</strong></td><td>≤ 0.1dB</td></tr><tr><td><strong>Order:</strong></td><td>5</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Durch die grafische Eingabe der Spezifikationen in den ASN Filter Designer und die Feinabstimmung der Designmarkerpositionen entwirft das Tool das Filter automatisch als Biquad-Kaskade. Beachten Sie, dass das Tool automatisch die erforderliche Filterordnung findet und im Wesentlichen automatisch die genaue technische Spezifikation des Filters erstellt!</p>



<p class="wp-block-paragraph">Der Frequenzgang eines IIR-Tschebyscheff-Tiefpassfilters 5. Ordnung, der den Spezifikationen entspricht, ist unten dargestellt:</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="http://www.advsolned.com/wp-content/uploads/2018/09/matlabfilterFR.png"><img loading="lazy" decoding="async" width="580" height="656" src="http://www.advsolned.com/wp-content/uploads/2018/09/matlabfilterFR.png" alt="" class="wp-image-7939" srcset="https://www.advsolned.com/wp-content/uploads/2018/09/matlabfilterFR.png 580w, https://www.advsolned.com/wp-content/uploads/2018/09/matlabfilterFR-265x300.png 265w, https://www.advsolned.com/wp-content/uploads/2018/09/matlabfilterFR-450x509.png 450w" sizes="auto, (max-width: 580px) 100vw, 580px" /></a></figure></div>



<p class="wp-block-paragraph">Die resultierenden Filterkoeffizienten sind:</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="http://www.advsolned.com/wp-content/uploads/2018/09/matlabasnfdresult.png"><img loading="lazy" decoding="async" width="454" height="235" src="http://www.advsolned.com/wp-content/uploads/2018/09/matlabasnfdresult.png" alt="Die resultierenden Filterkoeffizienten in ASN Filter Designer" class="wp-image-7937" srcset="https://www.advsolned.com/wp-content/uploads/2018/09/matlabasnfdresult.png 454w, https://www.advsolned.com/wp-content/uploads/2018/09/matlabasnfdresult-300x155.png 300w, https://www.advsolned.com/wp-content/uploads/2018/09/matlabasnfdresult-450x233.png 450w" sizes="auto, (max-width: 454px) 100vw, 454px" /></a></figure></div>



<p class="wp-block-paragraph">Entwurf desselben Filters in Matlab mit der Signal Processing Toolbox:</p>



<pre class="brush: matlabkey; title: ; notranslate">
Fs=500;
Rp=0.1;
Rs=80;
F=2*&#x5B;25,125]/Fs;

&#x5B;N,Wn]=cheb1ord(F(1),F(2),Rp,Rs)
&#x5B;z, p, k] = cheby1(N,Rp,Wn,'low'); % design lowpass

&#x5B;sos,g]=zp2sos(z,p,k,'up')  % generate SOS form
</pre>



<p class="wp-block-paragraph">Wenn wir das Skript ausführen, erhalten wir das folgende Ergebnis, wobei jede Zeile von <code>sos</code> ein Biquad ist, das wie folgt angeordnet ist: <code> b0 b1 b2 a0 a1 a2 </code></p>



<div class="wp-block-image"><figure class="aligncenter"><a href="http://www.advsolned.com/wp-content/uploads/2018/09/matlabresult.png"><img loading="lazy" decoding="async" width="551" height="200" src="http://www.advsolned.com/wp-content/uploads/2018/09/matlabresult.png" alt="" class="wp-image-7940" srcset="https://www.advsolned.com/wp-content/uploads/2018/09/matlabresult.png 551w, https://www.advsolned.com/wp-content/uploads/2018/09/matlabresult-300x109.png 300w, https://www.advsolned.com/wp-content/uploads/2018/09/matlabresult-450x163.png 450w" sizes="auto, (max-width: 551px) 100vw, 551px" /></a></figure></div>



<p class="wp-block-paragraph">Analysiert man beide Koeffizientensätze im Zähler und im Nenner, erhält man genau das gleiche Ergebnis! Aber was ist mit der Verstärkung? Matlab gibt eine Nettoverstärkung aus, <code>g = 3.0096e-05</code> , aber der ASN Filter Designer weist jedem Biquad eine optimale Verstärkung zu. Kombiniert man also die Verstärkungen der Biquad-Abschnitte, d.h. <code> 0.078643, 0.013823 </code> und <code>0.027685</code> , so ergibt sich eine Nettoverstärkung von <code>3.0096e-05</code>, was genau der gleichen Nettoverstärkung wie in Matlab entspricht!</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Fazit: Die Funktionen der DSP IIR Bibliothek des ASN Filter Designers entsprechen vollständig den Ergebnissen der Signal Processing Toolbox von Matlab!</strong></p></blockquote>



<p class="wp-block-paragraph">Der komplette automatisch generierte Code ist unten dargestellt, wo man sehen kann, dass die Biquad-Verstärkungen mit den Feedforward-Koeffizienten vormultipliziert wurden.</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="http://www.advsolned.com/wp-content/uploads/2018/09/matlabcomplete.png"><img decoding="async" src="http://www.advsolned.com/wp-content/uploads/2018/09/matlabcomplete.png" alt="Der komplette automatisch generierte Code ist unten dargestellt, wo man sehen kann, dass die Biquad-Verstärkungen mit den Feedforward-Koeffizienten vormultipliziert wurden." class="wp-image-7938"/></a></figure></div>



<h2 class="wp-block-heading"><span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span>Verwendung des generierten Codes mit Signal Processing Toolbox</h2>



<p class="wp-block-paragraph">Wenn Sie <a style="color: #0000ff;" href="https://nl.mathworks.com/products/signal.html">Signal Processing Toolbox</a> installiert haben, können Sie die in SOS generierten Koeffizienten direkt mit dem Befehl <code>sosfilt()</code>verwenden, z. B.



<pre class="brush: matlabkey; title: ; notranslate">
Clear all;

ASNFD_SOS=&#x5B; 0.07864301814, 0.07864301814, 0.00000000000, 1.00000000000,-0.84271396371, 0.00000000000;...
 0.01382289248, 0.02764578495, 0.01382289248, 1.00000000000,-1.70536517618, 0.76065674608;...
 0.02768538360, 0.05537076720, 0.02768538360, 1.00000000000,-1.79181447713, 0.90255601154;...
];

y=sosfilt(ASNFD_SOS, x); %  x is your input data

plot(x,y); % plot results
</pre>



<p class="wp-block-paragraph">Wie man sieht, ist es so einfach wie das Kopieren und Einfügen der Filterkoeffizienten aus der Filterübersicht des ASN Filter Designers in ein Matlab-Skript.</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-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:50%">
<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://www.advsolned.com/wp-content/uploads/2019/12/Softwareboxshadow-verkleind-495x400_verleind.jpg" alt="ASN Filter Designer box" class="wp-image-10817" width="495" height="400" srcset="https://www.advsolned.com/wp-content/uploads/2019/12/Softwareboxshadow-verkleind-495x400_verleind.jpg 495w, https://www.advsolned.com/wp-content/uploads/2019/12/Softwareboxshadow-verkleind-495x400_verleind-300x242.jpg 300w, https://www.advsolned.com/wp-content/uploads/2019/12/Softwareboxshadow-verkleind-495x400_verleind-450x364.jpg 450w" sizes="auto, (max-width: 495px) 100vw, 495px" /></figure>



<p class="wp-block-paragraph"></p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:50%">
<div class="wp-block-buttons is-layout-flex 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 no-border-radius" href="https://www.advsolned.com/request-form-asn-filter-designer-demo/" style="color:#ffffff">Demo herunterladen</a></div>
</div>



<div class="wp-block-buttons is-layout-flex 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 no-border-radius" href="https://www.advsolned.com/pricing-and-licencing/" style="color:#ffffff">Lizenzierung</a></div>
</div>



<p class="wp-block-paragraph"></p>
</div>
</div>



<p class="wp-block-paragraph"></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="17064"
					data-ulike-nonce="9218f91fb4"
					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_17064"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	<p>The post <a rel="nofollow" href="https://www.advsolned.com/wie-exportiert-man-entworfene-iir-fir-filter-nach-matlab/">Wie exportiert man entworfene IIR/FIR-Filter nach Matlab?</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.advsolned.com/wie-exportiert-man-entworfene-iir-fir-filter-nach-matlab/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Wie exportiert man entworfene IIR/FIR-Filter nach Python?</title>
		<link>https://www.advsolned.com/wie-exportiert-man-entworfene-iir-fir-filter-nach-python/</link>
					<comments>https://www.advsolned.com/wie-exportiert-man-entworfene-iir-fir-filter-nach-python/#respond</comments>
		
		<dc:creator><![CDATA[ASN consultancy team]]></dc:creator>
		<pubDate>Tue, 25 May 2021 13:30:00 +0000</pubDate>
				<category><![CDATA[Marketing]]></category>
		<guid isPermaLink="false">https://www.advsolned.com/?p=18416</guid>

					<description><![CDATA[<p>Der automatische Codegenerator des ASN Filter Designers vereinfacht den Export nach Python erheblich.</p>
<p>The post <a rel="nofollow" href="https://www.advsolned.com/wie-exportiert-man-entworfene-iir-fir-filter-nach-python/">Wie exportiert man entworfene IIR/FIR-Filter nach Python?</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">Für viele IoT-Sensormessanwendungen ist ein IIR- oder FIR-Filter nur eine der vielen Komponenten, die für einen Algorithmus benötigt werden. Dabei kann es sich um einen Powerline Interference Canceller für eine biomedizinische Anwendung oder sogar um einen einfacheren DC-Wägezellenfilter handeln. In vielen Fällen ist es notwendig, einen Filter in einen kompletten Algorithmus in einem anderen Bereich zu integrieren. Der automatische Codegenerator des ASN Filter Designers vereinfacht den Export nach Python erheblich.</p>



<p class="wp-block-paragraph"><a style="color: #0000ff;" href="http://https://www.python.org/">Python</a> ist eine sehr beliebte allgemeine Programmiersprache mit Unterstützung für numerische Berechnungen, die den Entwurf von Algorithmen und die Durchführung von Datenanalysen ermöglicht. Die <code>numpy</code>&#8211; und <code>signal</code>-Zusatzmodule der Sprache versuchen, die Lücke zwischen numerischen algorithmischen Sprachen wie Matlab und traditionelleren Programmiersprachen wie C/C++ zu schließen. Daher ist sie für erfahrene Programmierer, die mit den Datentypen, der Syntax und der Funktionalität von C/C++ vertraut sind, viel attraktiver als die Skriptsprache von Matlab, die sich eher an Mathematiker richtet, die algorithmische Konzepte entwickeln.</p>



<div class="wp-block-columns 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:66.66%">
<h2 class="wp-block-heading">ASN Filter Designer &#8211; automatischer Codegenerator für Python</h2>



<p class="wp-block-paragraph">Der ASN Filter Designer vereinfacht den Export eines entworfenen Filters nach Python durch seinen automatischen Codegenerator erheblich. Der Code-Generator unterstützt alle Aspekte des ASN Filter Designers, so dass ein komplettes Design, bestehend aus H1, H2 und H3 Filtern und mathematischen Operatoren, vollständig in einen Algorithmus in Python integriert werden kann.</p>



<p class="wp-block-paragraph">Der <strong>Python-Code-Generator</strong> kann über die Optionen für die Filterzusammenfassung aufgerufen werden (wie rechts dargestellt). Wenn Sie diese Option auswählen, wird automatisch eine Python <code>.py</code>-Datei auf der Grundlage der aktuellen Entwurfseinstellungen generiert.</p>
</div>



<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"><img loading="lazy" decoding="async" width="165" height="181" src="https://www.advsolned.com/wp-content/uploads/2020/04/python_option.png" alt="Wenn Sie diese Option auswählen, wird automatisch eine Python .py-Datei auf der Grundlage der aktuellen Entwurfseinstellungen generiert." class="wp-image-12145"/></figure>
</div>
</div>



<p class="wp-block-paragraph">Um den generierten Code in einem Python-Projekt verwenden zu können, werden die folgenden zwei Framework-Dateien im ASN Filter Designer Installationsverzeichnis im Verzeichnis <code>\Python</code> zur Verfügung gestellt:</p>



<p class="wp-block-paragraph"><code>ASNFDFilterData.py</code><br><code>ASNFDImport.py</code></p>



<div class="wp-block-columns 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"><img loading="lazy" decoding="async" width="248" height="113" src="https://www.advsolned.com/wp-content/uploads/2019/01/frameworkfiles-1-1.png" alt="Eine bequeme Verknüpfung zu den relevanten Framework-Dateien und Beispielen ist in der Filter-Symbolleiste über das Ordnersymbol verfügbar" class="wp-image-12146"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<p class="wp-block-paragraph">Eine bequeme Verknüpfung zu den relevanten Framework-Dateien und Beispielen ist in der Filter-Symbolleiste über das Ordnersymbol verfügbar (siehe links).</p>
</div>
</div>



<p class="wp-block-paragraph">Mit Hilfe der beiden Framework-Dateien können Sie eine Demo Ihrer Wahl auf der Grundlage der exportierten Filter-Spezifikationen erstellen. Das <strong>Framework unterstützt sowohl reelle als auch komplexe Filter nur in Fließkommazahlen</strong> und basiert auf ASN-IP-Blöcken und nicht auf dem <code>signal</code> Modul von Python, das mit der Verwaltung komplexer Daten Schwierigkeiten hatte. Um die Entwicklung von Algorithmen mit dem Framework zu beschleunigen, werden die folgenden drei Demos bereitgestellt:</p>



<p class="wp-block-paragraph"><code>ASNFDPythonDemo</code>: Hauptdemo-Datei mit verschiedenen Beispielen<br><code>RMSmeterDemo</code>: Eine Demo zur Messung der RMS-Amplitude der Stromleitung<br><code>EMGDataDemo</code>: Eine biomedizinische EMG-Demo mit HPF, 50Hz Kerbfilter und Mittelwertbildung</p>



<p class="wp-block-paragraph">Diese Framework-Dateien benötigen die folgenden Python-Abhängigkeitsmodule:</p>



<p class="wp-block-paragraph"><code>matplotlib.pyplot</code><br><code>numpy</code></p>



<p class="wp-block-paragraph">Ein Beispiel für den generierten Code zur Verwendung mit dem ASNFD-Python-Framework ist unten dargestellt.</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="http://www.advsolned.com/wp-content/uploads/2019/01/python_code_generator.png"><img loading="lazy" decoding="async" width="906" height="549" src="http://www.advsolned.com/wp-content/uploads/2019/01/python_code_generator.png" alt="ASN Filter Designer automatische Codegenerierung Python" class="wp-image-8399" srcset="https://www.advsolned.com/wp-content/uploads/2019/01/python_code_generator.png 906w, https://www.advsolned.com/wp-content/uploads/2019/01/python_code_generator-300x182.png 300w, https://www.advsolned.com/wp-content/uploads/2019/01/python_code_generator-768x465.png 768w, https://www.advsolned.com/wp-content/uploads/2019/01/python_code_generator-705x427.png 705w, https://www.advsolned.com/wp-content/uploads/2019/01/python_code_generator-450x273.png 450w" sizes="auto, (max-width: 906px) 100vw, 906px" /></a></figure></div>



<p class="wp-block-paragraph">Wie Sie sehen, ist es so einfach wie das <strong>Kopieren und Einfügen der Filterkoeffizienten</strong> aus der Filterzusammenfassung des ASN Filter Designers in ein Python-Projektskript.</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-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">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="217" height="300" src="https://www.advsolned.com/wp-content/uploads/2018/07/ASNFDbox.png" alt="ASN Filter Designer software box" class="wp-image-6569"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<div class="wp-block-buttons is-layout-flex 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 no-border-radius" href="https://www.advsolned.com/request-form-asn-filter-designer-demo/" style="color:#ffffff">Demo herunterladen</a></div>
</div>



<div class="wp-block-buttons is-layout-flex 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 no-border-radius" href="https://www.advsolned.com/pricing-and-licencing/" style="color:#ffffff">Lizenzierung</a></div>
</div>
</div>
</div>
		<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="18416"
					data-ulike-nonce="12bbf133a9"
					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_18416"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	<p>The post <a rel="nofollow" href="https://www.advsolned.com/wie-exportiert-man-entworfene-iir-fir-filter-nach-python/">Wie exportiert man entworfene IIR/FIR-Filter nach Python?</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.advsolned.com/wie-exportiert-man-entworfene-iir-fir-filter-nach-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Farrow Verzögerungsfilter</title>
		<link>https://www.advsolned.com/farrow-verzogerungsfilter/</link>
					<comments>https://www.advsolned.com/farrow-verzogerungsfilter/#respond</comments>
		
		<dc:creator><![CDATA[ASN consultancy team]]></dc:creator>
		<pubDate>Tue, 25 May 2021 12:54:00 +0000</pubDate>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Signalverarbeitung]]></category>
		<category><![CDATA[Verzögerungsfilter]]></category>
		<guid isPermaLink="false">https://www.advsolned.com/?p=16954</guid>

					<description><![CDATA[<p>Farrow Verzögerungsfilter : Abtastzeitpunkte eines Signals um einen Bruchteil einer Abtastung verschieben oder fein abzustimmen</p>
<p>The post <a rel="nofollow" href="https://www.advsolned.com/farrow-verzogerungsfilter/">Farrow Verzögerungsfilter</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" ><p>Bei der Signalverarbeitung besteht manchmal die Notwendigkeit, die Abtastzeitpunkte eines Signals um einen Bruchteil einer Abtastung zu verschieben oder fein abzustimmen. Für diese Aufgabe wird in der Regel ein FIR-Farrow-Verzögerungsfilter verwendet, das mit einer herkömmlichen ganzzahligen Verzögerungsleitung kombiniert werden kann, um eine universelle Verzögerungsleitung mit gebrochener Länge zu erhalten.</p>
<p>Eine fraktionale Verzögerung auf der Grundlage einer FIR-Farrow-Struktur kann wie folgt definiert werden:</p>
<p style="text-align: center;">\(H(z)=(1-\alpha)+\alpha z^{-1}; \; 0 \leq \alpha \leq 1 \)</p>
<p>Daraus ergibt sich eine fraktionierte lineare Verzögerung von  \(\alpha\) zwischen 0 und 1 Samples. Ein universellerer Baustein kann jedoch durch die Kombination der Farrow-Verzögerungsstruktur mit einer ganzzahligen Verzögerung, \(\Delta\) erreicht werden.</p>
<p style="text-align: center;">\(H(z)=(1-\alpha) z^{-\Delta}+\alpha z^{-(\Delta+1)}\)</p>
<p>Die nachstehende Grafik zeigt die Spektren von Betrag (blau) und Phase (lila) für \(\Delta=9, \, \alpha=0.52\). Wie man sieht, führt das fraktionierte Verzögerungselement zu einem nicht flachen Betragsspektrum bei höheren Frequenzen.<br />
<span class="" style="display:block;clear:both;height: 0px;padding-top: 10px;border-top-width:0px;border-bottom-width:0px;"></span></p>
<p style="text-align: center;"><a href="http://www.advsolned.com/wp-content/uploads/2018/07/farrowdelay.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-5936" style="margin-bottom: 20px;" src="https://www.advsolned.com/wp-content/uploads/2018/07/farrowdelay-406x400.png" alt="Farrow Verzögerungsfilter" width="396" height="390" srcset="https://www.advsolned.com/wp-content/uploads/2018/07/farrowdelay-406x400.png 406w, https://www.advsolned.com/wp-content/uploads/2018/07/farrowdelay-80x80.png 80w, https://www.advsolned.com/wp-content/uploads/2018/07/farrowdelay-36x36.png 36w" sizes="auto, (max-width: 396px) 100vw, 396px" /></a><br />
<em>Frequenzgang des Farrow-Verzögerungsfilters</em></p>
<span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span>
<h2>Implementierung</h2>
<p>Ein Farrow-Delay-Filter kann in <a href="http://www.advsolned.com/asn_filter_designer/#live-math-scripting"><span style="color: #0000ff;">ASN FilterScript</span></a> wie folgt implementiert werden:<br />
[code language=&#8221;java&#8221;]<br />
ClearH1;  // clear primary filter from cascade</p>
<p>interface alpha = {0,1,0.02,.5}; // fractional delay<br />
interface D = {1,30,1,10};       // integer delay</p>
<p>Main()<br />
Num = {zeros(D),1-alpha,alpha}; // numerator coefficients<br />
Den = {1};                      // denominator coefficient<br />
Gain = 1/sum(Num);              // normalise gain at DC<br />
[/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="http://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox.png"><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="" 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/">Demo jetzt herunterladen</a></p>
<p><a class="button" href="http://www.advsolned.com/pricing-and-licencing/#Best_licence_forme">Lizenzierung</a></p>
</div></section>
		<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="16954"
					data-ulike-nonce="b0af69be63"
					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_16954"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	<p>The post <a rel="nofollow" href="https://www.advsolned.com/farrow-verzogerungsfilter/">Farrow Verzögerungsfilter</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.advsolned.com/farrow-verzogerungsfilter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Was ist ein Bessel-Filter</title>
		<link>https://www.advsolned.com/was-ist-ein-bessel-filter/</link>
					<comments>https://www.advsolned.com/was-ist-ein-bessel-filter/#respond</comments>
		
		<dc:creator><![CDATA[ASN consultancy team]]></dc:creator>
		<pubDate>Tue, 25 May 2021 12:06:00 +0000</pubDate>
				<category><![CDATA[Marketing]]></category>
		<guid isPermaLink="false">https://www.advsolned.com/?p=17218</guid>

					<description><![CDATA[<p>Entwurf eines IIR-Bessel-Filters. Analoge Bessel-Filter haben eine konstante Gruppenlaufzeit im Durchlassbereich</p>
<p>The post <a rel="nofollow" href="https://www.advsolned.com/was-ist-ein-bessel-filter/">Was ist ein Bessel-Filter</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" ><p><strong>Syntax</strong><br />
<code>Hd = bessel (Order, Frequencies, Type, DFormat)</code></p>
<p><strong>Beschreibung</strong></p>
<p>Entwurf eines IIR-Bessel-Filters. Analoge Bessel-Filter haben eine konstante Gruppenlaufzeit im Durchlassbereich, was für eine Vielzahl von Messanwendungen sehr wünschenswert ist. Die in FilterScript implementierte Methode verwendet die Bilinear-Transformation, die die Standardcharakteristik des analogen Bessel-Filters modifiziert und folglich die konstante Gruppenlaufzeit im Durchlassbereich nicht beibehält. Sie können die Gruppenlaufzeit durch Verwendung eines Allpassfilters ausgleichen, entweder in FilterScript oder im Hauptwerkzeug mit dem Allpassfilter-Designer.</p>
<ul>
<li>Nahezu konstante Gruppenlaufzeit im Durchlassbereich.</li>
<li>Langsamerer Roll-Off als bei anderen Prototypen</li>
</ul>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/08/Bessel-495-1.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-7349 size-full" src="https://www.advsolned.com/wp-content/uploads/2018/08/Bessel-495-1.png" alt="Bessel-Filter" width="495" height="593" srcset="https://www.advsolned.com/wp-content/uploads/2018/08/Bessel-495-1.png 495w, https://www.advsolned.com/wp-content/uploads/2018/08/Bessel-495-1-250x300.png 250w, https://www.advsolned.com/wp-content/uploads/2018/08/Bessel-495-1-450x539.png 450w" sizes="auto, (max-width: 495px) 100vw, 495px" /></a></p>
<p>Die Kaskadierung eines einzelnen Allpassfilters (entworfen mit dem Allpassfilter-Designer) mit dem Bessel-Filter linearisiert die Gruppenlaufzeit im Durchlassbereich &#8211; siehe unten.</p>
<p><a href="http://www.advsolned.com/wp-content/uploads/2018/08/Bessel2-495.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-7350 size-full" src="http://www.advsolned.com/wp-content/uploads/2018/08/Bessel2-495.png" alt="Bessel 2 Filter" width="495" height="608" srcset="https://www.advsolned.com/wp-content/uploads/2018/08/Bessel2-495.png 495w, https://www.advsolned.com/wp-content/uploads/2018/08/Bessel2-495-244x300.png 244w, https://www.advsolned.com/wp-content/uploads/2018/08/Bessel2-495-450x553.png 450w" sizes="auto, (max-width: 495px) 100vw, 495px" /></a></p>
<p><span style="font-family: courier;">Hd = bessel (Order, Frequencies, Type, DFormat)</span></p>
<p><span style="font-family: courier;">Order</span>: kann bis zu <span style="font-family: courier;">20</span> (professional) und bis zu <span style="font-family: courier;">10</span> (educational) Auflage angegeben werden.</p>
<p><span style="font-family: courier;">Frequencies</span>: Tief- und Hochpass werden über eine Grenzfrequenz angegeben, während Bandpass- und Bandsperrfilter zwei Frequenzen benötigen (d. h. untere und obere Grenzfrequenz). Alle Frequenzen müssen in aufsteigender Reihenfolge und &lt;  Nyquist sein (siehe das Beispiel unten).</p>
<p><span style="font-family: courier;">Type</span>: Die Bessel-Methode ermöglicht den Entwurf von span style=&#8221;font-family: courier;&#8221;&gt;lowpass, <span style="font-family: courier;">highpass</span>, <span style="font-family: courier;">bandpass</span> bzw. <span style="font-family: courier;">bandstop</span>filtern.</p>
<p><span style="font-family: courier;">Hd</span>: Die Bessel-Methode entwirft ein IIR-Bessel-Filter auf der Grundlage der eingegebenen Spezifikationen und legt die Übertragungsfunktion (d.h. Zähler, Nenner, Verstärkung) in einem digitalen Filterobjekt, <span style="font-family: courier;">Hd</span>, ab. Das digitale Filterobjekt kann dann bei Bedarf mit anderen Methoden kombiniert werden. Für ein digitales Filterobjekt <span style="font-family: courier;">Hd</span> werden durch den Aufruf von <span style="font-family: courier;">Hd</span>, calling <span style="font-family: courier;">getnum(Hd)</span>, <span style="font-family: courier;">getden(Hd)</span> bzw. <span style="font-family: courier;">getgain(Hd)</span> die Zähler-, Nenner- bzw. Verstärkungskoeffizienten extrahiert &#8211; siehe unten.</p>
<p><span style="font-family: courier;">DFormat</span>: ermöglicht die Angabe des Anzeigeformats des resultierenden digitalen Filterobjekts.</p>
<table width="833">
<tbody>
<tr>
<td><code>symbolic</code></td>
<td>Zeigt eine symbolische Darstellung des Filterobjekts an. Wenn die Ordnung &gt; 10 ist, wird die symbolische Anzeigeoption überschrieben und auf numerisch gesetzt.</td>
</tr>
<tr>
<td><code>numeric</code></td>
<td>Anzeige einer Matrixdarstellung des Filterobjekts</td>
</tr>
<tr>
<td><code>void</code></td>
<td>Ein Filterobjekt erzeugen, aber keine Ausgabe anzeigen</td>
</tr>
</tbody>
</table>
<p><strong>Beispiel</strong></p>
<p>[code lang=&#8221;java&#8221;]<br />
ClearH1;  // clear primary filter from cascade<br />
ShowH2DM;   // show DM on chart</p>
<p>Main()</p>
<p>F={75};<br />
Order=5;<br />
Hd=bessel(Order,F,&quot;lowpass&quot;,&quot;symbolic&quot;);</p>
<p>F={50,100};<br />
Hd=bessel(Order,F,&quot;bandpass&quot;,&quot;symbolic&quot;);</p>
<p>Num = getnum(Hd); // define numerator coefficients<br />
Den = getden(Hd); // define denominator coefficients<br />
Gain = getgain(Hd); // define gain<br />
[/code]</p>
<h2>Siehe auch</h2>
<p><span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/bessel-filter/">bessel</a></span>&nbsp;<span style="color: #999999;">/</span> <span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/butterworth-filter/">butter</a> <span style="color: #999999;">/</span> <a style="color: #0000ff;" href="https://www.advsolned.com/chebyshev-filter/">cheby1</a></span> <span style="color: #999999;">/ </span><span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/chebyshev-ii-filter/">cheby2</a> <span style="color: #999999;">/</span></span>&nbsp;<span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/elliptic-filter/">ellip <span style="color: #999999;">/</span></a></span>&nbsp;<span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/arbitrary-response-magnitude-and-phase-filter/">arbmagphase</a> <span style="color: #999999;">/</span></span>&nbsp;<a href="https://www.advsolned.com/complex-frequency-shift-transformation/"><span style="color: #0000ff;">cplxfreqshift</span></a> <span style="color: #999999;">/</span> <a href="https://www.advsolned.com/dc-component-remover/"><span style="color: #0000ff;">dcremover</span></a> <span style="color: #999999;">/</span> <a href="https://www.advsolned.com/notch-filter/"><span style="color: #0000ff;">notch</span></a> <span style="color: #999999;">/</span> <span style="color: #0000ff;"><a style="color: #0000ff;" href="https://www.advsolned.com/peaking-bell-filter/">peaking</a></span></p>
</div></section>
		<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="17218"
					data-ulike-nonce="2256298d05"
					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_17218"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	<p>The post <a rel="nofollow" href="https://www.advsolned.com/was-ist-ein-bessel-filter/">Was ist ein Bessel-Filter</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.advsolned.com/was-ist-ein-bessel-filter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Implementierung von FIR-Filtern mit dem ASN Filter Designer und dem Arm CMSIS-DSP Software Framework</title>
		<link>https://www.advsolned.com/fir-filtern-asn-filter-designer-arm-cmsis-dsp-software/</link>
					<comments>https://www.advsolned.com/fir-filtern-asn-filter-designer-arm-cmsis-dsp-software/#respond</comments>
		
		<dc:creator><![CDATA[ASN consultancy team]]></dc:creator>
		<pubDate>Tue, 25 May 2021 12:00:00 +0000</pubDate>
				<category><![CDATA[Marketing]]></category>
		<guid isPermaLink="false">https://www.advsolned.com/?p=17165</guid>

					<description><![CDATA[<p>FIR-Filtern auf einem Cortex-M-basierten Mikrocontroller mit ASN Filter Designer und Arm CMSIS-DSP Software Framework</p>
<p>The post <a rel="nofollow" href="https://www.advsolned.com/fir-filtern-asn-filter-designer-arm-cmsis-dsp-software/">Implementierung von FIR-Filtern mit dem ASN Filter Designer und dem Arm CMSIS-DSP Software Framework</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">FIR-Filter (Finite Impulse Response) sind für eine Vielzahl von Sensor-Signalverarbeitungsanwendungen nützlich, einschließlich Audio- und biomedizinischer Signalverarbeitung. Obwohl es mehrere praktische FIR-Implementierungen gibt, bietet die <strong>Direct Form Transposed-Struktur</strong> die beste numerische Genauigkeit für die Fließkomma-Implementierung. Wenn jedoch eine Festkomma-Implementierung auf einem Mikrocontroller in Betracht gezogen wird, gilt die <strong>Direct-Form-Struktur</strong> aufgrund ihres großen Akkumulators, der alle Zwischenüberläufe aufnehmen kann, als beste Wahl.</p>



<p class="wp-block-paragraph">Diese Application Note befasst sich speziell mit dem Entwurf und der Implementierung von FIR-Filtern auf einem Cortex-M-basierten Mikrocontroller mit dem ASN Filter Designer sowohl für Fließkomma- als auch für Festkomma-Anwendungen über das Arm CMSIS-DSP Software Framework. Es werden auch Details (einschließlich eines <a style="color: #0000ff;" href="https://www.keil.com/dd2/pack/#/third-party-download-dialog">Arm-Referenz-Softwarepakets</a>) zur Implementierung des FIR-Filters in Arm/Keils MDK-Industriestandard-Cortex-M-Mikrocontroller-Entwicklungskit gegeben.
</p>



<h2 class="wp-block-heading">Einführung</h2>



<p class="wp-block-paragraph">ASN Filter Designer bietet Ingenieuren eine leistungsstarke DSP-Experimentierplattform, die den Entwurf, die Erprobung und den Einsatz komplexer digitaler FIR-Filterdesigns für eine Vielzahl von Sensormessanwendungen ermöglicht. Die fortschrittliche Funktionalität des Tools umfasst einen grafikbasierten Echtzeit-Filterdesigner, mehrere Filterblöcke, verschiedene mathematische E/A-Blöcke, symbolische Live-Mathe-Skripte und Echtzeit-Signalanalyse (über einen integrierten Signalanalysator). Diese Vorteile in Verbindung mit der automatischen Dokumentation und Code-Generierung ermöglichen es den Ingenieuren, einen digitalen Filter innerhalb von Minuten statt Stunden zu entwerfen und zu validieren.</p>



<div class="wp-block-columns 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:66.66%">
<p class="wp-block-paragraph">Das <a style="color: #0000ff;" href="http://arm-software.github.io/CMSIS_5/DSP/html/index.html">Arm CMSIS-DSP (Cortex Microcontroller Software Interface Standard) Software-Framework</a> ist eine reichhaltige Sammlung von über sechzig DSP-Funktionen (einschließlich verschiedener mathematischer Funktionen wie Sinus und Kosinus, IIR/FIR-Filterfunktionen, komplexer mathematischer Funktionen und Datentypen), die von Arm entwickelt und für die Cortex-M-Prozessorkerne optimiert wurden.<span class="" style="display:block;clear:both;height: 0px;margin-top: -10px;border-top-width:0px;border-bottom-width:0px;"></span></p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="170" height="67" src="https://www.advsolned.com/wp-content/uploads/2018/02/cmsis.png" alt="CMSIS-konform" class="wp-image-3311"/></figure></div>
</div>
</div>



<p class="wp-block-paragraph">Das Framework macht ausgiebig Gebrauch von hoch optimierten SIMD-Befehlen (Single Instruction, Multiple Data), die mehrere identische Operationen in einem einzigen Befehlszyklus ausführen. Die SIMD-Befehle (sofern sie vom Kern unterstützt werden) in Verbindung mit anderen Optimierungen ermöglichen es Ingenieuren, schnell und einfach hoch optimierte Signalverarbeitungsanwendungen für Cortex-M-basierte Mikrocontroller zu erstellen.</p>



<p class="wp-block-paragraph">Der ASN Filter Designer unterstützt das CMSIS-DSP Software-Framework vollständig, indem er über seine Code-Generierungs-Engine automatisch optimierten C-Code auf Basis der DSP-Funktionen des Frameworks erzeugt.</p>



<h2 class="wp-block-heading">Entwurf von FIR-Filtern mit dem ASN Filter Designer</h2>



<p class="wp-block-paragraph">Der ASN Filter Designer bietet Ingenieuren eine einfach zu bedienende, intuitive grafische Entwicklungsplattform für den Entwurf digitaler FIR-Filter. Das Echtzeit-Entwurfsparadigma des Tools nutzt <strong>grafische Entwurfsmarkierungen</strong>, die es den Entwicklern ermöglichen, ihre Anforderungen an den Frequenzgang in Echtzeit zu zeichnen und zu ändern, während das Tool automatisch die genauen Spezifikationen für sie ausfüllt.</p>



<p class="wp-block-paragraph">Betrachten Sie den Entwurf der folgenden technischen Spezifikation:</p>



<figure class="wp-block-table aligncenter is-style-regular"><table><tbody><tr><td><strong>Fs:</strong></td><td>500Hz</td></tr><tr><td><strong>Durchlassband-Frequenz: </strong></td><td>0-25Hz</td></tr><tr><td><strong>Typ:</strong></td><td>Lowpass</td></tr><tr><td><strong>Methode:</strong></td><td>Parks-McClellan</td></tr><tr><td><strong>Dämpfung des Sperrbereichs @ 125Hz:</strong>       </td><td>≥ 80 dB</td></tr><tr><td><strong>Durchlassband-Welligkeit:</strong></td><td>&lt; 0.01dB</td></tr><tr><td><strong>Ordnung:</strong></td><td>So klein wie möglich</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Durch die grafische Eingabe der Spezifikationen in den ASN Filter Designer und die Feinabstimmung der Design-Marker-Positionen entwirft das Tool automatisch das Filter, wählt automatisch die erforderliche Filterordnung und produziert im Wesentlichen automatisch die exakte technische Spezifikation des Filters! </p>



<p class="wp-block-paragraph">Der Frequenzgang eines Filters, das die Spezifikation erfüllt, ist unten dargestellt:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="677" height="507" src="https://www.advsolned.com/wp-content/uploads/2020/06/pm_fir_ex.png" alt="Tiefpassfilter" class="wp-image-12903" srcset="https://www.advsolned.com/wp-content/uploads/2020/06/pm_fir_ex.png 677w, https://www.advsolned.com/wp-content/uploads/2020/06/pm_fir_ex-300x225.png 300w, https://www.advsolned.com/wp-content/uploads/2020/06/pm_fir_ex-450x337.png 450w" sizes="auto, (max-width: 677px) 100vw, 677px" /></figure></div>



<p class="wp-block-paragraph">Dieser Tiefpassfilter bildet die Grundlage für die hier geführte Diskussion.</p>



<h3 class="wp-block-heading"><strong>Parks-McClellan-Algorithmus</strong></h3>



<p class="wp-block-paragraph">Der Parks-McClellan-Algorithmus ist ein iterativer Algorithmus zur Ermittlung des optimalen Tschebyscheff-FIR-Filters. Der Algorithmus verwendet eine indirekte Methode zur Ermittlung der optimalen Filterkoeffizienten, die im Vergleich zu anderen FIR-Entwurfsmethoden ein gewisses Maß an Flexibilität bietet, da jedes Band individuell angepasst werden kann, um den Anforderungen des Designers zu entsprechen.</p>



<p class="wp-block-paragraph">Die primäre FIR-Filter-Designer-UI implementiert den <a style="color: #0000ff;" href="https://en.wikipedia.org/wiki/Parks%E2%80%93McClellan_filter_design_algorithm">Parks-McClellan-Algorithmus</a> und ermöglicht den Entwurf der folgenden Filtertypen:</p>



<figure class="wp-block-table aligncenter"><table><tbody><tr><td><strong>Filtertypen</strong></td><td><strong>Beschreibung</strong></td></tr><tr><td>Tiefpass</td><td>Entwirft einen Tiefpassfilter</td></tr><tr><td>Hochpass</td><td>Entwirft einen Hochpassfilter</td></tr><tr><td>Bandpass</td><td>Entwirft ein Bandpassfilter</td></tr><tr><td>Bandsperre</td><td>Entwirft ein Bandsperrfilter</td></tr><tr><td>Multiband</td><td>Entwirft ein Multiband-Filter mit beliebigem Frequenzgang</td></tr><tr><td>Hilbert-Transformator</td><td>Entwirft ein Allpassfilter mit einer Phasenverschiebung von -90 Grad</td></tr><tr><td>Differentiator</td><td>Entwirft einen Filter mit +20dB/Dekade Steigung und +90 Grad Phasenverschiebung</td></tr><tr><td>Doppelter Differenzierer</td><td>Entwirft einen Filter mit einer Steigung von +40 dB/Dekade und einer Phasenverschiebung von +90 Grad</td></tr><tr><td>Integrator</td><td>Entwirft einen Filter mit einer Steigung von -20 dB/Dekade und einer Phasenverschiebung von -90 Grad</td></tr><tr><td>Doppelintegrator</td><td>Designs a filter with&nbsp; -40dB/decade slope and a -90 degree phase shift.</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Diese zehn Filtertypen bieten Entwicklern eine große Flexibilität für eine Vielzahl von IoT-Anwendungen. Die Designanforderungen können einfach durch die Verwendung der Designmarker spezifiziert werden. In allen Fällen berechnet das Tool automatisch die erforderliche Filterreihenfolge, um die Spezifikation des Designers zu erfüllen.</p>



<div class="wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:12%">
<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="49" height="53" src="https://www.advsolned.com/wp-content/uploads/2018/10/appnote_infosymbol.png" alt="" class="wp-image-12160"/></figure></div>



<p class="wp-block-paragraph"></p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">Der Parks-McClellan-Algorithmus ist eine optimale Tschebyscheff-FIR-Entwurfsmethode. Allerdings konvergiert der Algorithmus bei einigen Spezifikationen möglicherweise nicht. In solchen Fällen hilft es im Allgemeinen, den Abstand zwischen den Entwurfsmarkierungsbändern zu vergrößern.</p>
</div>
</div>



<h3 class="wp-block-heading"><strong>Andere FIR-Entwurfsmethoden</strong></h3>



<p class="wp-block-paragraph">Designer, die mit anderen Arten von FIR-Entwurfsmethoden experimentieren möchten, können die symbolische Live-Mathe-Skriptsprache <a style="color: #0000ff;" href="http://filterscript">ASN FilterScript</a> verwenden. Die Skriptsprache unterstützt über 65 wissenschaftliche Befehle und bietet Entwicklern eine vertraute und leistungsstarke Programmiersprache, die es ihnen gleichzeitig ermöglicht, komplexe symbolische mathematische Ausdrücke zu implementieren. Die folgenden Funktionen werden unterstützt:</p>



<figure class="wp-block-table aligncenter"><table><tbody><tr><td><strong>Funktion</strong>    </td><td><strong>Beschreibung</strong></td></tr><tr><td>movaver</td><td>Moving average FIR filter design: Entwurf eines FIR-Filters mit gleitendem Mittelwert</td></tr><tr><td>firwin</td><td>FIR filter Window method: FIR-Filterentwurf auf der Grundlage der Fenstermethode</td></tr><tr><td>firarb</td><td>Entwirft ein FIR-Filter auf Basis der Fenstermethode mit beliebigem Amplitudengang</td></tr><tr><td>firkaiser</td><td>Entwurf eines FIR-Filters nach der Kaiser-Fenstermethode</td></tr><tr><td>firgauss</td><td>Entwurf eines FIR Gaußschen Tiefpassfilters</td></tr><tr><td>savgolay</td><td>Entwirft ein FIR Savitzky-Golay Tiefpass-Glättungsfilter</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Weitere Details finden Sie im ASN FilterScript <a style="color: #0000ff;" href="https://www.advsolned.com/asn-filterscript-reference/#misca">Reference Guide</a>.</p>



<p class="wp-block-paragraph">Alle Filter, die in ASN FilterScript entworfen werden, werden unter Verwendung von Arithmetik mit doppelter Genauigkeit in der H2-Filter-Sandbox entworfen. Ein H2-Filter muss für den Einsatz in einen H1-(Primär-)Filter umgewandelt werden.</p>



<p class="wp-block-paragraph">Dies kann einfach über das Optionsmenü P-Z erreicht werden:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="379" height="131" src="https://www.advsolned.com/wp-content/uploads/2020/06/pzfirdeploy.png" alt="Re-Optimierung des Filterentwurfs" class="wp-image-12922" srcset="https://www.advsolned.com/wp-content/uploads/2020/06/pzfirdeploy.png 379w, https://www.advsolned.com/wp-content/uploads/2020/06/pzfirdeploy-300x104.png 300w" sizes="auto, (max-width: 379px) 100vw, 379px" /></figure></div>



<p class="wp-block-paragraph">Die <strong>Re-Optimierungsmethode</strong> analysiert automatisch den H2-Filter und wandelt ihn in einen H1-Filter um.</p>



<h2 class="wp-block-heading"><span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span><strong>Fließkomma-Implementierung</strong></h2>



<p class="wp-block-paragraph">Bei der Implementierung eines Filters in Fließkomma (&#8216;floating point&#8217;; d.h. unter Verwendung von Arithmetik mit doppelter oder einfacher Genauigkeit) gilt die Struktur Direct Form Transposed als die numerisch genaueste. Dies lässt sich leicht erkennen, wenn man die nachstehenden (für die Implementierung verwendeten) Differenzgleichungen analysiert, da die unerwünschten Auswirkungen der numerischen Übersättigung minimiert werden, da die Fließkommaaddition auf Zahlen ähnlicher Größenordnung durchgeführt wird.</p>



<p class="has-text-align-center wp-block-paragraph">\(\displaystyle \begin{eqnarray}y(n) &amp; = &amp;b_0x(n) &amp;+&amp; w_1(n-1) \\ w_1(n)&amp;=&amp;b_1x(n) &amp;+&amp; w_2(n-1) \\ w_2(n)&amp;=&amp;b_2x(n) &amp;+&amp; w_3(n-1) \\ \vdots\quad &amp;=&amp; \quad\vdots &amp;+&amp;\quad\vdots \\ w_q(n)&amp;=&amp;b_qx(n) \end{eqnarray}\)</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="900" height="306" src="https://www.advsolned.com/wp-content/uploads/2020/04/df2T_fir.png" alt="Direkte Form der Transponierung (für Fließkomma-Implementierungen)" class="wp-image-11978" srcset="https://www.advsolned.com/wp-content/uploads/2020/04/df2T_fir.png 900w, https://www.advsolned.com/wp-content/uploads/2020/04/df2T_fir-300x102.png 300w, https://www.advsolned.com/wp-content/uploads/2020/04/df2T_fir-768x261.png 768w, https://www.advsolned.com/wp-content/uploads/2020/04/df2T_fir-705x240.png 705w, https://www.advsolned.com/wp-content/uploads/2020/04/df2T_fir-450x153.png 450w" sizes="auto, (max-width: 900px) 100vw, 900px" /><figcaption><center><em>Direkte Formtransponierung (für Gleitkomma-Implementierungen)</em></center></figcaption></figure></div>



<p class="has-text-align-center wp-block-paragraph">\(\displaystyle \begin{eqnarray}y(n) &amp; = &amp;b_0x(n) &amp;+&amp; w_1(n-1) \\ w_1(n)&amp;=&amp;b_1x(n) &amp;+&amp; w_2(n-1) \\ w_2(n)&amp;=&amp;b_2x(n) &amp;+&amp; w_3(n-1) \\ \vdots\quad &amp;=&amp; \quad\vdots &amp;+&amp;\quad\vdots \\ w_q(n)&amp;=&amp;b_qx(n) \end{eqnarray}\)</p>



<p class="wp-block-paragraph">Die Quantisierungs- und Filterstruktureinstellungen, die zur Implementierung der FIR verwendet werden, finden Sie auf der Registerkarte <strong>Q</strong> (wie unten dargestellt). </p>



<div class="wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:12%">
<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="49" height="53" src="https://www.advsolned.com/wp-content/uploads/2018/10/appnote_infosymbol.png" alt="" class="wp-image-12160"/></figure></div>



<p class="wp-block-paragraph"></p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">Obwohl die <strong>Direct Form Transposed-Struktur</strong> für die Fließkomma-Implementierung am effizientesten ist, unterstützt die Arm CMSIS-DSP-Bibliothek <strong>derzeit nicht die Direct Form Transposed-Struktur für FIR-Filter</strong>. Es wird nur die <strong>Direct Form Struktur</strong> unterstützt.
</p>
</div>
</div>



<p class="wp-block-paragraph">Wenn Sie die <strong>Arithmetic</strong> auf <strong> Single Precision </strong> und <strong> Structure</strong> auf <strong>Direct Form </strong> einstellen und auf die Schaltfläche <strong> Apply </strong> klicken, wird die hier betrachtete FIR für das CMSIS-DSP Software Framework konfiguriert.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow">
<div class="wp-block-image"><figure class="alignleft size-large"><img loading="lazy" decoding="async" width="386" height="331" src="https://www.advsolned.com/wp-content/uploads/2020/09/arm_fir_float_structure.png" alt="" class="wp-image-14154" srcset="https://www.advsolned.com/wp-content/uploads/2020/09/arm_fir_float_structure.png 386w, https://www.advsolned.com/wp-content/uploads/2020/09/arm_fir_float_structure-300x257.png 300w" sizes="auto, (max-width: 386px) 100vw, 386px" /></figure></div>
</div>



<div class="wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:50%">
<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="49" height="53" src="https://www.advsolned.com/wp-content/uploads/2018/10/appnote_infosymbol.png" alt="" class="wp-image-12160"/></figure></div>



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



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%">
<p class="wp-block-paragraph">Die optimierten Funktionen innerhalb des Arm CMSIS-DSP Frameworks unterstützen derzeit nur <strong>Single Precision</strong> Arithmetik.</p>



<p class="wp-block-paragraph">Unterstützung für <strong>Double Precision</strong> und die <strong>Direct Form Transposed-Struktur</strong> wird in zukünftigen Versionen hinzugefügt werden.</p>
</div>
</div>
</div>
</div>



<h2 class="wp-block-heading">Festkomma-Implementierung</h2>



<p class="wp-block-paragraph">Bei der Implementierung eines Filters mit Festkomma-Arithmetik wird die <strong>Direct-Form</strong>-Struktur aufgrund ihres großen Akkumulators, der alle Zwischenüberläufe aufnimmt, als die beste Wahl angesehen. Die Direct-Form-Struktur und die zugehörige Differenzengleichung sind im Folgenden dargestellt. </p>



<p class="has-text-align-center wp-block-paragraph">\(\displaystyle y(n) = b_0x(n) + b_1x(n-1) + b_2x(n-2) + …. +b_qx(n-q) \)<span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span></p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="883" height="249" src="https://www.advsolned.com/wp-content/uploads/2020/04/df1_fir.png" alt="Struktur der direkten Form (für Festkomma-Implementierung), Direkte Form Festkomma" class="wp-image-11977" srcset="https://www.advsolned.com/wp-content/uploads/2020/04/df1_fir.png 883w, https://www.advsolned.com/wp-content/uploads/2020/04/df1_fir-300x85.png 300w, https://www.advsolned.com/wp-content/uploads/2020/04/df1_fir-768x217.png 768w, https://www.advsolned.com/wp-content/uploads/2020/04/df1_fir-705x199.png 705w, https://www.advsolned.com/wp-content/uploads/2020/04/df1_fir-450x127.png 450w" sizes="auto, (max-width: 883px) 100vw, 883px" /><figcaption><center><em>Direkte Formstruktur (für Festkomma-Implementierung)</em></center></figcaption></figure></div>



<p class="wp-block-paragraph">Das CMSIS-DSP-Framework unterstützt nur die Quantisierung der Koeffizienten Q7, Q15 und Q31. Die Optionen können einfach über die Registerkarte Q für die Quantisierung angegeben werden, wie unten gezeigt:</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow">
<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="331" height="269" src="https://www.advsolned.com/wp-content/uploads/2020/06/firquant_fixed.png" alt="ASN Filter Designer direktes Form" class="wp-image-12932" srcset="https://www.advsolned.com/wp-content/uploads/2020/06/firquant_fixed.png 331w, https://www.advsolned.com/wp-content/uploads/2020/06/firquant_fixed-300x244.png 300w" sizes="auto, (max-width: 331px) 100vw, 331px" /></figure></div>



<p class="wp-block-paragraph"></p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">Die eingebauten Analysen des Tools (in der Textbox) sollen dem Designer helfen, die am besten geeigneten Quantisierungseinstellungen zu wählen. </p>



<p class="wp-block-paragraph">Wie links zu sehen ist, hat das Tool eine RFWL (empfohlene Fraktionslänge) von 15 Bits (Q15) für die Koeffizienten empfohlen, was den Anforderungen entspricht.</p>
</div>
</div>



<p class="wp-block-paragraph">Die Struktur <strong>Direkte Form</strong> wird der Struktur <strong>Direkte Form Transponiert</strong> vorgezogen, da ein einziger Akkumulator (40 Bit) verwendet werden kann. Der automatische Code-Generator des Tools nutzt die 64-Bit-Akkumulatoren-Funktionen von CMSIS-DSP, so dass der endgültige C-Code, der auf einem Cortex-M-Baustein eingesetzt wird, nicht überläuft.</p>



<h2 class="wp-block-heading">Bereitstellung von Arm CMSIS-DSP-konformem Code</h2>



<p class="wp-block-paragraph">Die automatische Code-Generierungs-Engine des ASN Filter Designers erleichtert den Export eines entworfenen Filters auf Cortex-M Arm-basierte Prozessoren über das Arm CMSIS-DSP Software-Framework. Die integrierten Analyse- und Hilfefunktionen des Tools unterstützen den Designer bei der erfolgreichen Konfiguration des Designs für den Einsatz.</p>



<p class="wp-block-paragraph">Wählen Sie das <strong>Arm CMSIS-DSP</strong>-Framework aus der Auswahlbox im Filterübersichtsfenster aus:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1030" height="483" src="https://www.advsolned.com/wp-content/uploads/2020/06/deployToArm2-1030x483.png" alt="Arm-CMSIS-Implementierung" class="wp-image-12964" srcset="https://www.advsolned.com/wp-content/uploads/2020/06/deployToArm2-1030x483.png 1030w, https://www.advsolned.com/wp-content/uploads/2020/06/deployToArm2-300x141.png 300w, https://www.advsolned.com/wp-content/uploads/2020/06/deployToArm2-768x360.png 768w, https://www.advsolned.com/wp-content/uploads/2020/06/deployToArm2-705x330.png 705w, https://www.advsolned.com/wp-content/uploads/2020/06/deployToArm2-450x211.png 450w, https://www.advsolned.com/wp-content/uploads/2020/06/deployToArm2.png 1054w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></figure></div>



<p class="wp-block-paragraph">Der automatisch generierte C-Code auf Basis des Arm CMSIS-DSP-Frameworks für die direkte Implementierung auf einem Arm-basierten Cortex-M-Prozessor ist unten dargestellt:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="611" height="596" src="https://www.advsolned.com/wp-content/uploads/2020/06/arm_fir_ex.png" alt="C-Code Arm CMSIS DSP für die direkte Implementierung auf einem Arm-basierten Cortex-M-Prozessor" class="wp-image-12936" srcset="https://www.advsolned.com/wp-content/uploads/2020/06/arm_fir_ex.png 611w, https://www.advsolned.com/wp-content/uploads/2020/06/arm_fir_ex-300x293.png 300w, https://www.advsolned.com/wp-content/uploads/2020/06/arm_fir_ex-36x36.png 36w, https://www.advsolned.com/wp-content/uploads/2020/06/arm_fir_ex-450x439.png 450w" sizes="auto, (max-width: 611px) 100vw, 611px" /></figure></div>



<p class="wp-block-paragraph">Dieser Code kann direkt in jedem Cortex-M-basierten Entwicklungsprojekt verwendet werden.</p>



<h3 class="wp-block-heading"><strong>Arm Keil MDK (uVision)</strong></h3>



<p class="wp-block-paragraph">Wie bereits erwähnt, kann der vom Arm CMSIS DSP Code-Generator erzeugte Code direkt in jedem Cortex-M-basierten Entwicklungsprojekt-Tooling verwendet werden, wie z.B. Arm Keils Industriestandard <a style="color: #0000ff;" href="http://www2.keil.com/mdk5/">uVision MDK</a>  (Micro-Controller Development Kit).</p>



<p class="wp-block-paragraph">Das folgende <a style="color: #0000ff;" href="https://www.keil.com/dd2/pack/#/third-party-download-dialog">Arm-Softwarepaket</a> ist auf Keils Website verfügbar, um diesen Code direkt mit Keil uVision MDK zu verwenden.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://www.advsolned.com/wp-content/uploads/2020/04/ARM-Keil-5.png" alt="Arm Keil MDK Filter-Entwurf" class="wp-image-12040" width="630" height="146" srcset="https://www.advsolned.com/wp-content/uploads/2020/04/ARM-Keil-5.png 882w, https://www.advsolned.com/wp-content/uploads/2020/04/ARM-Keil-5-300x69.png 300w, https://www.advsolned.com/wp-content/uploads/2020/04/ARM-Keil-5-768x178.png 768w, https://www.advsolned.com/wp-content/uploads/2020/04/ARM-Keil-5-705x163.png 705w, https://www.advsolned.com/wp-content/uploads/2020/04/ARM-Keil-5-450x104.png 450w" sizes="auto, (max-width: 630px) 100vw, 630px" /></figure></div>



<span class="" style="display:block;clear:both;height: 0px;padding-top: 20px;border-top-width:0px;border-bottom-width:0px;"></span>
<p><a href="https://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox.png"><img loading="lazy" decoding="async" class="alignleft wp-image-3310" style="margin: 10px 80px 10px 20px;" src="https://www.advsolned.com/wp-content/uploads/2018/02/ASNFDbox.png" alt="" 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>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: left;"><a class="button" href="https://www.advsolned.com/request-form-asn-filter-designer-demo/">Demo herunterladen</a></p>
<p> </p>
<p><a class="button" href="https://www.advsolned.com/pricing-and-licencing/#Best_licence_forme">Lizenzierung</a></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="17165"
					data-ulike-nonce="1562c7eb59"
					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_17165"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	<p>The post <a rel="nofollow" href="https://www.advsolned.com/fir-filtern-asn-filter-designer-arm-cmsis-dsp-software/">Implementierung von FIR-Filtern mit dem ASN Filter Designer und dem Arm CMSIS-DSP Software Framework</a> appeared first on <a rel="nofollow" href="https://www.advsolned.com">ASN Home</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.advsolned.com/fir-filtern-asn-filter-designer-arm-cmsis-dsp-software/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
