Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.sci.electronics > #220822 > unrolled thread
| Started by | Peter Thoms <dl6lat@darc.de> |
|---|---|
| First post | 2017-01-14 14:02 +0100 |
| Last post | 2017-02-03 17:42 +0100 |
| Articles | 15 — 6 participants |
Back to article view | Back to de.sci.electronics
FIR-Koeffizienten per Hand ermitteln Peter Thoms <dl6lat@darc.de> - 2017-01-14 14:02 +0100
Re: FIR-Koeffizienten per Hand ermitteln Leo Baumann <charly020664@yahoo.de> - 2017-01-14 15:31 +0100
Re: FIR-Koeffizienten per Hand ermitteln Rafael Deliano <rafael_deliano@arcor.de> - 2017-01-14 16:04 +0100
Re: FIR-Koeffizienten per Hand ermitteln Peter Thoms <dl6lat@darc.de> - 2017-01-14 18:59 +0100
Re: FIR-Koeffizienten per Hand ermitteln Rafael Deliano <rafael_deliano@arcor.de> - 2017-01-14 19:21 +0100
Re: FIR-Koeffizienten per Hand ermitteln Peter Thoms <dl6lat@darc.de> - 2017-01-15 00:53 +0100
Re: FIR-Koeffizienten per Hand ermitteln Rafael Deliano <rafael_deliano@arcor.de> - 2017-01-15 08:20 +0100
Re: FIR-Koeffizienten per Hand ermitteln Peter Thoms <dl6lat@darc.de> - 2017-01-15 10:19 +0100
Re: FIR-Koeffizienten per Hand ermitteln Peter Thoms <dl6lat@darc.de> - 2017-01-15 10:45 +0100
Re: FIR-Koeffizienten per Hand ermitteln "horst.d.winzler" <horst.d.winzler@web.de> - 2017-01-15 11:00 +0100
Re: FIR-Koeffizienten per Hand ermitteln Rolf Bombach <rolfnospambombach@invalid.invalid> - 2017-01-16 22:14 +0100
Re: FIR-Koeffizienten per Hand ermitteln Hartmut Kraus <hartmut.melina@web.de> - 2017-02-03 19:03 +0100
Re: FIR-Koeffizienten per Hand ermitteln Peter Thoms <dl6lat@darc.de> - 2017-01-16 20:39 +0100
Re: FIR-Koeffizienten per Hand ermitteln Peter Thoms <dl6lat@darc.de> - 2017-02-03 16:45 +0100
Re: FIR-Koeffizienten per Hand ermitteln Rafael Deliano <rafael_deliano@arcor.de> - 2017-02-03 17:42 +0100
| From | Peter Thoms <dl6lat@darc.de> |
|---|---|
| Date | 2017-01-14 14:02 +0100 |
| Subject | FIR-Koeffizienten per Hand ermitteln |
| Message-ID | <o5d7hg$cui$1@news.albasani.net> |
Hallo, gerade versuche ich ein fir-Filter zu stricken und komme nicht auf das Ergebnis vom Rechenbeispiel in Art of Electr. a0= 0,497 a1= 0,274 a2= 0 a3=-0,0226 a4= 0 Wo und in welcher rechnung könnte der Fehler stecken? Meine Tabelle: normalisieren: a N k sin(x)/x *Hamming H'summe/1,21 -------------------------------------------------------------------- a0 8 0 1 1 0,8260 a1 8 1 0,3926 0,3069 0,2535 a2 8 2 0 0 0 a3 8 3 -1,178 -0,096 -0,0796 a4 8 4 0 0 0 Hammingsumme→ 1,21 1 Kontrollsumme Meine Rechnung bezieht sich auf AOE dritte Ausgabe, S.421 kurz unter Formel 6.20 fürs Hamming-Fenster: "The recipe, then, ist to choose ... Ich hoffe jetzt auch noch inständig, daß mein Schriftformat nicht die Tabelle verschiebt. peter
[toc] | [next] | [standalone]
| From | Leo Baumann <charly020664@yahoo.de> |
|---|---|
| Date | 2017-01-14 15:31 +0100 |
| Message-ID | <o5dcog$ji6$1@solani.org> |
| In reply to | #220822 |
Am 14.01.2017 um 14:02 schrieb Peter Thoms: > Hallo, > > gerade versuche ich ein fir-Filter zu stricken und komme nicht auf das > Ergebnis vom Rechenbeispiel in Art of Electr. > a0= 0,497 > a1= 0,274 > a2= 0 > a3=-0,0226 > a4= 0 > > Wo und in welcher rechnung könnte der Fehler stecken? > Meine Tabelle: normalisieren: > a N k sin(x)/x *Hamming H'summe/1,21 > -------------------------------------------------------------------- > a0 8 0 1 1 0,8260 > a1 8 1 0,3926 0,3069 0,2535 > a2 8 2 0 0 0 > a3 8 3 -1,178 -0,096 -0,0796 > a4 8 4 0 0 0 > Hammingsumme→ 1,21 1 Kontrollsumme > > Meine Rechnung bezieht sich auf AOE dritte Ausgabe, S.421 kurz unter > Formel 6.20 fürs Hamming-Fenster: > "The recipe, then, ist to choose ... > > Ich hoffe jetzt auch noch inständig, daß mein Schriftformat nicht die > Tabelle verschiebt. > > > peter Ich nehme an es handelt sich um ein TP-Filter? - Gib' mir 'mal die normierte Grenzfrequenz F=fg/fAbtast und die Filterordnung. Ich habe vor langer Zeit ein Programm geschrieben für FIR-Filter. Gruß Leo
[toc] | [prev] | [next] | [standalone]
| From | Rafael Deliano <rafael_deliano@arcor.de> |
|---|---|
| Date | 2017-01-14 16:04 +0100 |
| Message-ID | <o5deij$r7q$1@dont-email.me> |
| In reply to | #220822 |
Mich durch die AoE Formeln wursteln mag ich nicht. Das ist der Ablauf "per Hand" in mathcad: http://www.embeddedFORTH.de/temp/x.pdf Die Skalierung horizontale der Achse wurde halbwillkürlich so gewählt daß bei 0,100,200,300,400 die Koeffizienten liegen. Blau ist das Hamming-Fenster, es ist fix skaliert, denn es würde >400 wieder im Wert ansteigen, was nicht sinnvoll ist. Das rote ist sinx/x, das kann ich mit dem Faktor k von Hand skalieren Grün ist das gefensterte sinx/x. Der Wert k wurde von Hand so angepaßt das die beiden Koeffizienten die Null sein sollen, Null wurden. Nächster Schritt war die Summe mit Faktor t auf 1,0 skalieren. Auch einfach t so von Hand geändert daß es wurde. Wäre anschaulicher wenn man interaktiver mit solchem Programm Werte ändert und sieht was die Plots tun. Ist auch weniger fehlerträchtig. Man kann die Filterkurve anhand der Koeffizienten auch per Formel plotten: http://www.embeddedFORTH.de/temp/y.pdf MfG JRD
[toc] | [prev] | [next] | [standalone]
| From | Peter Thoms <dl6lat@darc.de> |
|---|---|
| Date | 2017-01-14 18:59 +0100 |
| Message-ID | <o5doto$1sm$1@news.albasani.net> |
| In reply to | #220838 |
Am 14.01.2017 um 16:04 schrieb Rafael Deliano: > Mich durch die AoE Formeln wursteln mag ich nicht. > Das ist der Ablauf "per Hand" in mathcad: > http://www.embeddedFORTH.de/temp/x.pdf > > Die Skalierung horizontale der Achse wurde halbwillkürlich > so gewählt daß bei 0,100,200,300,400 die Koeffizienten > liegen. > Blau ist das Hamming-Fenster, es ist fix skaliert, > denn es würde >400 wieder im Wert ansteigen, was nicht > sinnvoll ist. > Das rote ist sinx/x, das kann ich mit dem Faktor k > von Hand skalieren > Grün ist das gefensterte sinx/x. > Der Wert k wurde von Hand so angepaßt das die beiden > Koeffizienten die Null sein sollen, Null wurden. > > Nächster Schritt war die Summe mit Faktor t > auf 1,0 skalieren. Auch einfach t so von Hand geändert > daß es wurde. > > Wäre anschaulicher wenn man interaktiver mit solchem > Programm Werte ändert und sieht was die Plots tun. > Ist auch weniger fehlerträchtig. > > Man kann die Filterkurve anhand der Koeffizienten > auch per Formel plotten: > http://www.embeddedFORTH.de/temp/y.pdf Hallo, vielen Dank. a) meine eintackerte Formel für s(x)/x hatte einen Schuß und b) zum Normalisieren ist nur der |Betrag| von V100 und V200 zugelassen, ok. Wie kommst du auf die Formel [(|V100|+|V300|)*2+V0]*t=1? Insbesonders verwundert mich der Faktor 2 am Abschnitt (|V100|+|V300|)*2 Im AoE lese ich nur folgende Formel aus dem Text: (V100+V300+V0)/t=1 Mache ich einen weiteren Fehler, oder muß ich besser AoE etwas ergänzen? peter
[toc] | [prev] | [next] | [standalone]
| From | Rafael Deliano <rafael_deliano@arcor.de> |
|---|---|
| Date | 2017-01-14 19:21 +0100 |
| Message-ID | <o5dq3s$6c4$1@dont-email.me> |
| In reply to | #220843 |
> Wie kommst du auf die Formel [(|V100|+|V300|)*2+V0]*t=1? Ich habe keinen Betrag. Eigentlich ist es nur schnell hingetippt die Summe aller (aktiven) 9 Koeffizienten. Und auch nur Kosmetik: das Tiefpaß-Filter soll halt Gain=1 haben. > AoE Ist kein Buch über digitale Signalverarbeitung. Würde als Einführung immer noch Bellanger empfehlen. 3. edition habe ich noch nicht gelesen, die alte 2. die ich habe ist billig zu haben: https://www.amazon.de/gp/offer-listing/0471921017/ref=sr_1_1_olp?ie=UTF8&qid=1484417921&sr=8-1&keywords=bellanger+signal+processing MfG JRD
[toc] | [prev] | [next] | [standalone]
| From | Peter Thoms <dl6lat@darc.de> |
|---|---|
| Date | 2017-01-15 00:53 +0100 |
| Message-ID | <o5edli$98l$1@news.albasani.net> |
| In reply to | #220847 |
Am 14.01.2017 um 19:21 schrieb Rafael Deliano: >> Wie kommst du auf die Formel [(|V100|+|V300|)*2+V0]*t=1? > > Ich habe keinen Betrag. > Eigentlich ist es nur schnell hingetippt > die Summe aller (aktiven) 9 Koeffizienten. > Und auch nur Kosmetik: das Tiefpaß-Filter soll halt > Gain=1 haben. > >> AoE > > Ist kein Buch über digitale Signalverarbeitung. > Würde als Einführung immer noch Bellanger empfehlen. > 3. edition habe ich noch nicht gelesen, > die alte 2. die ich habe ist billig zu haben: > https://www.amazon.de/gp/offer-listing/0471921017/ref=sr_1_1_olp?ie=UTF8&qid=1484417921&sr=8-1&keywords=bellanger+signal+processing Hallo, komisch. Ich murks gerade auf Taschenrechner und Libreoffice rum und beide sind sich zumindest einig. Offensichtlich muß ich irgendwie systematisch etwas falsch backen. Im Moment steht bei mir in seltsamer Weise V(0): ax=wx=1 => vx=1*t V(100): ax=0,6366 und wx=0,7816 => vx=0,4975*t V(300): ax=-0,2122 und wx=0,0818 => vx=-0,01736*t Nach meinen Zahlen wäre t = 0,5101 = 1 / ( 1 + 2 * ( 0,4975 - 0,01736 )) und ich stehe damit etwas abseits deiner Zahlen aus x.PDF: vx(0)= 0,4973; 0,5101 vx(100)= 0,274; 0,2538 vx(300)=-0,023; -0,0417 Ich begreife den Unterschied einfach nicht, das Ergebnis ist aber ähnlich. Das kann kein Rundungsfehler sein. peter
[toc] | [prev] | [next] | [standalone]
| From | Rafael Deliano <rafael_deliano@arcor.de> |
|---|---|
| Date | 2017-01-15 08:20 +0100 |
| Message-ID | <o5f7p9$a5r$1@dont-email.me> |
| In reply to | #220894 |
> Offensichtlich muß ich irgendwie systematisch etwas falsch backen. Auf meinem Taschenrechner stolperts sichs gerne bei den Sinusfunktionen darüber was eingestellt: deg / rad / gra. Deshalb wurstele ich auch lieber mit Mathcad weil man mit den Plots bessere Übersicht hat. MfG JRD
[toc] | [prev] | [next] | [standalone]
| From | Peter Thoms <dl6lat@darc.de> |
|---|---|
| Date | 2017-01-15 10:19 +0100 |
| Message-ID | <o5fer3$ucv$1@news.albasani.net> |
| In reply to | #220910 |
Am 15.01.2017 um 08:20 schrieb Rafael Deliano: >> Offensichtlich muß ich irgendwie systematisch etwas falsch backen. > > Auf meinem Taschenrechner stolperts sichs gerne bei den > Sinusfunktionen darüber was eingestellt: deg / rad / gra. > Deshalb wurstele ich auch lieber mit Mathcad weil man mit > den Plots bessere Übersicht hat. Hallo, das hatte ich schon am Anfang kontrolliert, aber jetzt hab ichs: sin(90) ist im LibreOffice 0,894 <patsch> Ja, vielen Dank! Peter
[toc] | [prev] | [next] | [standalone]
| From | Peter Thoms <dl6lat@darc.de> |
|---|---|
| Date | 2017-01-15 10:45 +0100 |
| Message-ID | <o5fgb1$ov4$1@news.albasani.net> |
| In reply to | #220910 |
Am 15.01.2017 um 08:20 schrieb Rafael Deliano: >> Offensichtlich muß ich irgendwie systematisch etwas falsch backen. > > Auf meinem Taschenrechner stolperts sichs gerne bei den > Sinusfunktionen darüber was eingestellt: deg / rad / gra. > Deshalb wurstele ich auch lieber mit Mathcad weil man mit > den Plots bessere Übersicht hat. Hallo, kontrolliert hatte ich es am Anfang. Jetzt fand ich in der Hamming-Formel 360 Grad für einen Vollkreis und in sin(x)/x 2*PI() -zu blöd- Hoffentlich ist das der letzte Fehler peter
[toc] | [prev] | [next] | [standalone]
| From | "horst.d.winzler" <horst.d.winzler@web.de> |
|---|---|
| Date | 2017-01-15 11:00 +0100 |
| Message-ID | <ee0vhtFpiarU2@mid.individual.net> |
| In reply to | #220917 |
Am 15.01.2017 um 10:45 schrieb Peter Thoms: > Am 15.01.2017 um 08:20 schrieb Rafael Deliano: >>> Offensichtlich muß ich irgendwie systematisch etwas falsch backen. > Hoffentlich ist das der letzte Fehler Falsch, jeder Fehler den man beseitigt, ist ein Meilenstein zum Erfolg. Nur, wer brauch schon so viele Meilensteine? ;-) -- ---hdw---
[toc] | [prev] | [next] | [standalone]
| From | Rolf Bombach <rolfnospambombach@invalid.invalid> |
|---|---|
| Date | 2017-01-16 22:14 +0100 |
| Message-ID | <o5jcvv$e1t$1@dont-email.me> |
| In reply to | #220922 |
horst.d.winzler schrieb: > Am 15.01.2017 um 10:45 schrieb Peter Thoms: >> Am 15.01.2017 um 08:20 schrieb Rafael Deliano: >>>> Offensichtlich muß ich irgendwie systematisch etwas falsch backen. > >> Hoffentlich ist das der letzte Fehler > > Falsch, jeder Fehler den man beseitigt, ist ein Meilenstein zum Erfolg. Nur, wer brauch schon so viele Meilensteine? ;-) Je mehr Milestones ein Projektplan hat, desto besser. -- mfg Rolf Bombach
[toc] | [prev] | [next] | [standalone]
| From | Hartmut Kraus <hartmut.melina@web.de> |
|---|---|
| Date | 2017-02-03 19:03 +0100 |
| Message-ID | <o72gp5$ck2$1@news.albasani.net> |
| In reply to | #220922 |
Am 15.01.2017 um 11:00 schrieb horst.d.winzler: > Am 15.01.2017 um 10:45 schrieb Peter Thoms: >> Am 15.01.2017 um 08:20 schrieb Rafael Deliano: >>>> Offensichtlich muß ich irgendwie systematisch etwas falsch backen. > >> Hoffentlich ist das der letzte Fehler > > Falsch, jeder Fehler den man beseitigt, ist ein Meilenstein zum Erfolg. > Nur, wer brauch schon so viele Meilensteine? ;-) Gute Frage. Welche Fehler muss ich also noch beseitigen? -- http://www.hkraus.eu/
[toc] | [prev] | [next] | [standalone]
| From | Peter Thoms <dl6lat@darc.de> |
|---|---|
| Date | 2017-01-16 20:39 +0100 |
| Message-ID | <o5j7hq$bbd$1@news.albasani.net> |
| In reply to | #220847 |
Am 14.01.2017 um 19:21 schrieb Rafael Deliano:
>> Wie kommst du auf die Formel [(|V100|+|V300|)*2+V0]*t=1?
>
> Ich habe keinen Betrag.
> Eigentlich ist es nur schnell hingetippt
> die Summe aller (aktiven) 9 Koeffizienten.
> Und auch nur Kosmetik: das Tiefpaß-Filter soll halt
> Gain=1 haben.
>
>> AoE
>
> Ist kein Buch über digitale Signalverarbeitung.
> Würde als Einführung immer noch Bellanger empfehlen.
> 3. edition habe ich noch nicht gelesen,
> die alte 2. die ich habe ist billig zu haben:
> https://www.amazon.de/gp/offer-listing/0471921017/ref=sr_1_1_olp?ie=UTF8&qid=1484417921&sr=8-1&keywords=bellanger+signal+processing
Hallo,
prima!
Mit der Formel zur Normalisierung für
Gain = t (v0 + 2 ( v1 +v2 + v3 + v4 ) ] kann ich jetzt
meine Abhängigkeit vollumfassend verschleiern.
Aus float t=0,54087432662038504000 direkt aus sin(x)/x (ohne Hamming)
wird bei signed int eine "69".
/**************************************************************
WinFilter version 0.8
http://www.winfilter.20m.com
akundert@hotmail.com
Filter type: Low Pass
Filter model: Rectangular Window
Sampling Frequency: 4 Hz
Cut Frequency: 1.000000 Hz
Coefficents Quantization: 8-bit
***************************************************************/
#define Ntap 9
#define DCgain 128
__int8 fir(__int8 NewSample) {
__int8 FIRCoef[Ntap] = {
0,
-14,
0,
44,
69,
44,
0,
-14,
0
};
static __int8 x[Ntap]; //input samples
__int16 y=0; //output sample
int n;
//shift the old samples
for(n=Ntap-1; n>0; n--)
x[n] = x[n-1];
//Calculate the new output
x[0] = NewSample;
for(n=0; n<Ntap; n++)
y += FIRCoef[n] * x[n];
return y / DCgain;
}
Herzlichen Dank
peter
[toc] | [prev] | [next] | [standalone]
| From | Peter Thoms <dl6lat@darc.de> |
|---|---|
| Date | 2017-02-03 16:45 +0100 |
| Message-ID | <o728jj$dfj$1@news.albasani.net> |
| In reply to | #220847 |
Am 14.01.2017 um 19:21 schrieb Rafael Deliano: ... > >> AoE > > Ist kein Buch über digitale Signalverarbeitung. > Würde als Einführung immer noch Bellanger empfehlen. > 3. edition habe ich noch nicht gelesen, > die alte 2. die ich habe ist billig zu haben: > https://www.amazon.de/gp/offer-listing/0471921017/ref=sr_1_1_olp?ie=UTF8&qid=1484417921&sr=8-1&keywords=bellanger+signal+processing Hallo, sowas habe ich jetzt. Mein Problem ist jetzt, dass ich mich daran schwer gewöhnen muß bzw. nur schwer gewöhnen kann. Naja, puhh ... Meine zusammengestoppelten Gedankenstützen werde ich für das Buch wohl reichlich erweitern müssen: adaptive Filter klingt zu interessant. peter
[toc] | [prev] | [next] | [standalone]
| From | Rafael Deliano <rafael_deliano@arcor.de> |
|---|---|
| Date | 2017-02-03 17:42 +0100 |
| Message-ID | <o72bqi$abn$1@dont-email.me> |
| In reply to | #222407 |
>> die alte 2. die ich habe ist billig zu haben: >> https://www.amazon.de/gp/offer-listing/0471921017/ref=sr_1_1_olp?ie=UTF8&qid=1484417921&sr=8-1&keywords=bellanger+signal+processing > sowas habe ich jetzt. Wenn man viel Zeit hat sind die Interviews recht amüsant: http://ethw.org/Oral-History:Maurice_Bellanger http://ethw.org/Oral-History:List_of_all_Oral_Histories MfG JRD
[toc] | [prev] | [standalone]
Back to top | Article view | de.sci.electronics
csiph-web