Tilbage til HIFI4ALL.DK 17. maj 2024 | 07:00   

  NAVIGATION  Retningslinier for brug af Hifi4all  
HjælpHjælp  ChatChat  Aktive emnerAktive emner  Vis brugereBrugere  Søg i forumSøg  Opret ny brugerOpret ny bruger  Log indLog ind
DIY/Selvbyg
 HIFI4ALL Forum : DIY/Selvbyg
Emne Emne: Digitalt filter på PC (Emne lukket Emne lukket) Indryk indlægOpret nyt emne
Side af 3
Forfatter
Besked << Forrige emne | Næste emne >>
hhenne
Forum Bruger
Forum Bruger
Avatar

Bruger siden: 04 August 2009
Lokalitet: Stor-København
Status: Offline
Indlæg: 60
Sendt: 27 April 2010 kl. 23:58 | IP-adresse registreret  

Hej Morse,

Nej desværre - er blevet hårdt ramt af arbejde, og har faktisk ikke engang være herinde i en måned.

Til top Vis hhenne's Profil Søg efter andre indlæg skrevet af hhenne
 
hhenne
Forum Bruger
Forum Bruger
Avatar

Bruger siden: 04 August 2009
Lokalitet: Stor-København
Status: Offline
Indlæg: 60
Sendt: 21 August 2010 kl. 18:15 | IP-adresse registreret  

Foranlediget af at Kjeldsen har gjort os opmærksom på at miniDSP nu fås med et modul, der tillader, at man selv konfigurerer dets biquads, så man kan lave vilkårlige filtre og ikke kun de normale Bessel, Butterworth mm. syntes jeg det var på tide at komme lidt videre med realiseringen af mit fasetro filter, der er karakteriseret ved at summen af de 3 kanaler er 1, dvs den er lineær både amplitude og fasemæssig, men også ved, at bas, mellem og diskant er linære indenfor deres arbejdsområde, så de gengiver et step korrekt.

Mit 5. ordens fasetro fliter:

Denominator:
s⁵ + 9 s⁴ - 26 s³ - 26s² +9s + 1
Nominator:
Low = 9s+1
Mid = -26s³-26s²
High = s⁵+9s⁴

Nu er opgaven så at realisere filtret med biquads:
http://peabody.sapp.org/class/350.838/lab/biquad/

I det følgende er s og x brugt i flæng som variabel - det skyldes kun regnemaskinerne.

Her er et program, der kan factorisere polynomier, men den kunne ikke opløse mit denominator polynomium, som den siger er irreducible:
http://wims.unice.fr/wims/wims.cgi
Den har måske ret, idet den gør det fint, når jeg går tilbage til mit oprindelige 5'th ordens filter, hvor alle koefficienter er positive.:
x^5+9x^4+26x^3+26x^2+9x+1= pm (x+1) (x2+4x+1)2

Men her er en ligningsløser, der kan finde nulpunkter, hvilket kan bruges til at opløse et polynomium:
http://www.numberempire.com/equationsolver.php

Til at gøre pøve bruges en regnemaskine, der kan gange polynomier:
http://www.solvemymath.com/online_math_calculator/algebra_co mbinatorics/polynomial_calculator/polynomial_mul_div.php

Nulpunkter i nævner findes med ligningsløseren, hvilket giver:
Equation (s)^5+(1+2*4)*(s)^4+(-((4^2+2*4+2)*(s)^3+(4^2+2*4+2)*(s)^2)) +(1+2*4)*(s)+1 solved for s
solution 1
s = -2*sqrt(4*sqrt(13)+13)/13^(1/4)-sqrt(13)-2
solution 2
s = 2*sqrt(4*sqrt(13)+13)/13^(1/4)-sqrt(13)-2
solution 3
s = -2*sqrt(4*sqrt(13)-13)/13^(1/4)+sqrt(13)-2
solution 4
s = 2*sqrt(4*sqrt(13)-13)/13^(1/4)+sqrt(13)-2
solution 5
s = -1
Disse kan puttes direkte ind i Speedcrunch, hvilket giver flg. nulpunkter i nævneren:
solution 1
s = -11.1211840679780048306
solution 2
s = -0.08991848294997375564
solution 3
s =0.34944821514447760137
solution 4
s = 2.86165433578350098487
solution 5
s = -1

Nu gør vi prøve, ved at gange de 5 faktorer sammen:
(s--11.1211840679780048306)*(s- -0.08991848294997375564)*(s-0.34944821514447760137)*(s-2.861 65433578350098487)*(s--1)
=(x^2 + 11.2111025509x + 1)*(x^2 - 3.21110255093x + 1)*(x+1) =
(x^4 + 7.99999999997x^3 - 33.9999999999x^2 + 7.99999999997x + 1) * (x+1) =
x^5 + 8.99999999997x^4 - 25.9999999999x^3 - 25.9999999999x^2 + 8.99999999997x + 1

Fantastisk - det passer, selvom polynomiet ikke umiddelbart kunne faktoriseres- men metoden med at finde rødderne virker ok.

Nu har vi samtidigt beregnet 2 ordens polymnomierne til biquad filtrets nævnere:
1.: x^2 + 11.2111025509x + 1
2.: x^2 - 3.21110255093x + 1
3.: x +1

så mangler vi tællerne for Low, Mid og High.
Low = 9x+1
Mid = -26x^3-26x^2
High = x^5+9x^4
=>
Low = 0x^2 + 9x+1
Mid = (-26x^2 + 0x +0) * (0x^2+x+1)
High = (x^2+0x +0) * (x^2 + 0x + 0) * (0x^2 + x + 9)
- det ordnede wims-faktoriseringsprogrammet uden problemer

Så skal tæller og nævner kombineres for de tre filtre:
(De tre filter kan opbygges med mange forskellige kombinationer af biquads, og min er tilfældigt valgt. Jeg skal muligvis have kigget på, hvordan det gøres med henblik på optimal udstyring og støj. Det har jeg ingen erfaring med- tips/henvisninger modtages med glæde)

Low - 3 biquads:
(0x^2+9x+1)/(x^2 + 11.2111025509x + 1) *
1/(x^2 - 3.21110255093x + 1) *
1/(0x^2+x+1)

Mid - 3 biquads:
(-26x^2 + 0x +0)/(x^2 + 11.2111025509x + 1) *
(0x^2+x+1)/(x^2 - 3.21110255093x + 1) *
1/(0x^2+x+1)

High - 3 biquads:
(x^2+0x +0)/(x^2 + 11.2111025509x + 1) *
(x^2 + 0x + 0)/(x^2 - 3.21110255093x + 1) *
(0x^2 + x + 9)/(0x^2+x+1)

Disse er normaliseret til cyklisk centerfrkv = 1 = 1/2pi Hz

Nu må det være en smal sag at transformere til en given centerfrekv. (fx 1 kHz) og beregne koefficienterne til de 9 biquad filtre, men det må vente lidt - jeg skal også lige have bestilt et par miniDSP'er.


Til top Vis hhenne's Profil Søg efter andre indlæg skrevet af hhenne
 
Morse
Forum Bruger
Forum Bruger


Bruger siden: 18 Maj 2003
Lokalitet: Jylland
Status: Offline
Indlæg: 217
Sendt: 23 August 2010 kl. 12:49 | IP-adresse registreret  

Hej hhenne,

Jeg har ikke fået tygget ovenstående igennem. Men inden du bestiller nogle miniDSP, synes jeg du skal tage muligheden for at benytte NVidias grafik chips, som DSP for filter. Jeg har ikke lige linken ved hånden, men så vidt jeg husker er der et eksempel i det SDK, som NVidia har frigivet. Måske du kan finde lidt inspiration i følgende link.

http://www.diyaudio.com/forums/digital-line-level/120463-nvi dia-cuda-gpu-computing-pc-fir.html

MiniDSP boardene er fine, men efter hvad jeg ved, er frihedsgraden ikke helt så stor. Desuden kan man måske lave noget netværksafspille lignende med en PC/CUDA baseret løsning.

Følger spændt med, da jeg desværre selv ikke har tid til at være med. Måske lidt senere på erfteråret.

mvh, Morse

Til top Vis Morse's Profil Søg efter andre indlæg skrevet af Morse
 
MHenckel
Forum Bruger
Forum Bruger


Bruger siden: 17 September 2003
Lokalitet: København
Status: Offline
Indlæg: 175
Sendt: 23 August 2010 kl. 13:00 | IP-adresse registreret  

Morse skrev:

Hej hhenne,

Jeg har ikke fået tygget ovenstående igennem. Men inden du bestiller nogle miniDSP, synes jeg du skal tage muligheden for at benytte NVidias grafik chips, som DSP for filter. Jeg har ikke lige linken ved hånden, men så vidt jeg husker er der et eksempel i det SDK, som NVidia har frigivet. Måske du kan finde lidt inspiration i følgende link.

http://www.diyaudio.com/forums/digital-line-level/120463-nvi dia-cuda-gpu-computing-pc-fir.html

MiniDSP boardene er fine, men efter hvad jeg ved, er frihedsgraden ikke helt så stor. Desuden kan man måske lave noget netværksafspille lignende med en PC/CUDA baseret løsning.

Følger spændt med, da jeg desværre selv ikke har tid til at være med. Måske lidt senere på erfteråret.

mvh, Morse

Der er absolut ingen problemer med at køre FIR filter på en PC - At bruge grafik kortet til FIR filter er da kun at bede om mere kompleksitet.

Kig feks her;

http://convolver.sourceforge.net/

Udfordringen med FIR filtrer er at få genereret et godt filter ;-)

 

 

 

 

 

 

Til top Vis MHenckel's Profil Søg efter andre indlæg skrevet af MHenckel Besøg MHenckel's Websted
 
Morse
Forum Bruger
Forum Bruger


Bruger siden: 18 Maj 2003
Lokalitet: Jylland
Status: Offline
Indlæg: 217
Sendt: 23 August 2010 kl. 13:17 | IP-adresse registreret  

Hej MHenckel,

Du har ret. Det fleste undervurderer regnekraften i en moderne PC. Det er jo bare et stykke "legetøj".  Min pointe var (som nok ikke var så tydlig) at man kunne måske slippe afsted med at bruge et af de små "fanless" ATOM/ION baseret motherboards. De koster ikke mange penge.

Jeg har ingen erfaring med kompleksiteten af at bruge CUDA, men mon ikke NVidia har taget broden af det værste med deres SDK. Som sagt, jeg mener også NVidia leverer et eksempel på et FIR filter.

Mvh, Morse

 

Til top Vis Morse's Profil Søg efter andre indlæg skrevet af Morse
 
hhenne
Forum Bruger
Forum Bruger
Avatar

Bruger siden: 04 August 2009
Lokalitet: Stor-København
Status: Offline
Indlæg: 60
Sendt: 23 August 2010 kl. 15:54 | IP-adresse registreret  

Hej,

FIR filtre på PC er een af de ting der skal prøves i fremtiden. Problemet lige nu er for mig at se det forholdsvis omfattende/dyre HW, der skal til for at få alle kanalerne ud af PC'en.

Det filter jeg har fundet er tilpas simpelt til at det sagtens kan realiseres som IIR filter. Derved er miniDSP blevet en mulighed, som jeg forfølger.

Men det er absolut planen på længere sigt at lave en sammenligning mellem dette filter og et faselineært FIR filter.

Pt spiller jeg med en Behringer DCX2496 der er konfigureret med 1. ordens filtre suppleret med båndstop filtre et stykke væk fra delefrekvensen. Resultatet er tæt på at være faselineært. Men det er noget fusk.
Til top Vis hhenne's Profil Søg efter andre indlæg skrevet af hhenne
 
Morse
Forum Bruger
Forum Bruger


Bruger siden: 18 Maj 2003
Lokalitet: Jylland
Status: Offline
Indlæg: 217
Sendt: 24 August 2010 kl. 08:18 | IP-adresse registreret  

Hej hhenne,

Jeg forstår. M-Audio har begået nogle lydkort med flere udgange til næsten ingen penge. Jeg ved disse har været brugt sammen med SoundEasy (google det), som også har digitale filter muligheder.

Min tanke var at et af de små dual-atom/ION motherboards, måske kunne bruges. Nogle - hvis ikke alle - har 7.1 lydudgange. Jeg kan ikke forstille mig at disse ikke kunne misbruges til et eller andet. Om det så har den fornødne hifi kvalitet, kan jeg ikke umiddelbart svare på.

Din rene filter funktion angiver target forløbet for de individuelle enheder. Det er den target kurve du ønsker at ramme akustisk. Den akustiske target kurve er en kombination af din elektriske filter funktion og enhedens naturlige frekvens gang, kabinet osv. Jeg vil derfor mene at dit filter bliver lidt mere komplekst, da du formentligt bliver nødt til at equalize/shape enhedernes kurveforløb lidt for at få dem til at følge dit ønskede kurve forløb. Det går ikke uden kalibreret mikrofon. Sidstnævnte kan købes til rimelige penge. Glem Behringer ECM-8000. Den spreder alt for meget.

Du må undskylde hvis jeg siger ting du allerede ved. Jeg fik bare indtrykket af at du ikke tog højde for dette i ovenstående udregning.

Mvh, Morse

 

Til top Vis Morse's Profil Søg efter andre indlæg skrevet af Morse
 
hhenne
Forum Bruger
Forum Bruger
Avatar

Bruger siden: 04 August 2009
Lokalitet: Stor-København
Status: Offline
Indlæg: 60
Sendt: 24 August 2010 kl. 11:35 | IP-adresse registreret  

Hej Morse,

Det er rigtigt, at jeg har holdt enhedernes overføringsfunktion ude af mine beregninger. Forudsætningen er derfor at enhederne korrigeres, og det kræver naturligvis ekstra filtrering. Jeg har CLIO udstyr til at måle med.

Mht. 7.1 lydudgange har jeg nok tænkt, at det ikke var hifi. Men det bør da prøves engang - de 'hørbare' forskelle mellem DAC'er, forstærkere, mm. er efter min mening mest indbildning.

Til top Vis hhenne's Profil Søg efter andre indlæg skrevet af hhenne
 
Meier
Forum Bruger
Forum Bruger
Avatar

Bruger siden: 19 Februar 2004
Lokalitet: Sjælland
Status: Offline
Indlæg: 1417
Sendt: 06 September 2010 kl. 12:35 | IP-adresse registreret  

Noget nyt i det spændende projekt?
Til top Vis Meier's Profil Søg efter andre indlæg skrevet af Meier
 
hhenne
Forum Bruger
Forum Bruger
Avatar

Bruger siden: 04 August 2009
Lokalitet: Stor-København
Status: Offline
Indlæg: 60
Sendt: 06 September 2010 kl. 15:42 | IP-adresse registreret  

Jah - men desværre ikke positivt.

Jeg opdagede at mit 'idelle' filter - trods de meget velkontrollerede step responses (iflg beregning) - er ustabilt; der er poler i højre halvplan. Jeg må indrømme, at det også undrede mig noget, at der øjensynligt ikke var andre, som havde fundet frem til dette filter.

Jeg overvejer, hvad jeg nu skal gøre. Det mest nærliggende er at implementere en stabil variant af filtret. Her kan man godt nok opnå en perfekt respons totalt - men den fremkommer ved at de enkelte enheder er mere eller mindre ude af fase. Det var jo lige det, jeg ville undgå, fordi det betyder, at det kun er i et bestemt punkt, at de summerer perfekt.
Til top Vis hhenne's Profil Søg efter andre indlæg skrevet af hhenne
 
Meier
Forum Bruger
Forum Bruger
Avatar

Bruger siden: 19 Februar 2004
Lokalitet: Sjælland
Status: Offline
Indlæg: 1417
Sendt: 08 September 2010 kl. 12:04 | IP-adresse registreret  

Øv - det kunne ellers have været rigtigt spændende
Til top Vis Meier's Profil Søg efter andre indlæg skrevet af Meier
 

Du har ikke adgang til at besvare dette indlæg.
Dette emne er lukket.

<< Forrige Side af 3
  Indryk indlægOpret nyt emne
Printervenlig udgave Printervenlig udgave

Skift forum
Du kan ikke oprette nye emner i dette forum
Du kan ikke besvare indlæg i dette forum
Du kan ikke slette dine indlæg i dette forum
Du kan ikke redigere dine indlæg i dette forum
Du kan ikke oprette afstemninger i dette forum
Du kan ikke stemme i dette forum

Copyright © 2024 HIFI4ALL.DK - Alle rettigheder forbeholdes