SE517525C2 - Förfarande och anordning för konstruktion av digitala filter - Google Patents
Förfarande och anordning för konstruktion av digitala filterInfo
- Publication number
- SE517525C2 SE517525C2 SE9903161A SE9903161A SE517525C2 SE 517525 C2 SE517525 C2 SE 517525C2 SE 9903161 A SE9903161 A SE 9903161A SE 9903161 A SE9903161 A SE 9903161A SE 517525 C2 SE517525 C2 SE 517525C2
- Authority
- SE
- Sweden
- Prior art keywords
- filter
- discrete representation
- time
- length
- frequency
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0211—Frequency selective networks using specific transformation algorithms, e.g. WALSH functions, Fermat transforms, Mersenne transforms, polynomial transforms, Hilbert transforms
- H03H17/0213—Frequency domain filters using Fourier transforms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0294—Variable filters; Programmable filters
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
Description
25 30 517 525 a en un.
Hänvisning [4] beskriver ett förfarande som startar med en initial reducerad längd för det frekvensdiskreta filtersvaret (genom användning av antingen Barlett- eller Welch-metoden). Detta filtersvar med reducerad längd trans- formeras till tidsdomänen genom användning av en invers diskret Fourier- transform av reducerad längd, cirkulär skiftning för erhållande av ett filter med linjär fas, noll-utfyllnad för erhållande av en utökad längd för undvi- kande av tidsvikning samt transformering tillbaka till frekvensdomänen genom användande av en diskret Fourier-transform av utökad längd. En nackdel med denna metod är att upplösningen i frekvens reduceras på grund av den initialt reducerade filterlängden.
SUMMERING Ett syftemäl för föreliggande uppfinning är erbjudande av ett filterkonstruk- tionsförfarande som undviker både tidsvikning och den fördröjning som alstras genom fönsterapplicering över flera block och som ger förbättrad frekvensupplösning.
Detta syftemål uppnås i enlighet med de bifogade patentkraven.
Kort uttryckt förskjuter föreliggande uppfinning filtret cirkulärt i tidsdomä- nen för omcentrering av filtertoppen samt påläggs ett kort fönster runt toppen för extrahering av den väsentliga delen av filtret och automatisk noll- utfyllnad. Detta förfarande har flera fördelar: 1. Det resulterande noll-utfyllda filtret med reducerad längd och linjär fas kan användas för implementering av cirkulär blockfaltning utan tidsvikning. 2. Om fönstret är tillräckligt kort kan faltningen även utföras i tidsdomä- nen. 10 15 20 25 30 517 525 .u va; 3 3. Om så önskas kan det erhållna filtret med linjär fas transformeras till ett filter med minimal fas för reducering av den algoritmiska behand- lingsfördröj ningen.
KORT BESKRIVNING AV RITNINGARNA Föreliggande uppfinning samt ytterligare syftemål och fördelar som uppnås med denna förstås bäst genom hänvisning till följande beskrivning och de bifogade ritningarna, i vilka Fig. l är ett tidsdiagram som illustrerar en sampelsekvens x[n]; Fig. 2 är ett tidsdiagram som illustrerar ett filterimpulssvar h[n]; Fig. 3 är ett tidsdiagram som illustrerar ett tidsförskjutet filterimpuls- svar h[n- 1]; Fig. 4 är ett tidsdiagram som illustrerar ett tidsförskjutet filterimpuls- svar h[n-L]; Fig. 5 är ett tidsdiagram som illustrerar faltningen av sarnpelsekven- sen x[n] och filterimpulssvaret h[n]; Fig. 6 är ett tidsdiagram som illustrerar en med nollor utfylld sampel- sekvens x[n]; Fig. 7 är ett tidsdiagram som illustrerar ett med nollor utfyllt filterim- pulssvar h[n]; Fig. 8 är ett tidsdiagram av en längre sampelsekvens x[n]; Fig. 9 är ett tidsdiagram av ett första med nollor utfyllt block av sam- pelsekvensen x[n] i fig. 8; Fig. 10 är ett tidsdiagram av ett andra med nollor utfyllt block av sam- pelsekvensen x[n] i fig. 8; Fig. ll är ett tidsdiagram av ett tredje med nollor utfyllt block av sam- pelsekvensen x[n] i fig. 8; Fig. 12 är ett tidsdiagram av faltningen mellan det första blocket i fig. 9 och det med nollor utfyllda impulssvaret i fig. 7; Fig. 13 är ett tidsdiagram av faltningen mellan det andra blocket i fig. 10 och det med nollor utfyllda filterimpulssvaret i fig. 7; lO 15 20 25 30 517 525 n nu n ø c | ø a o ø u; 4 Fig. 14 är ett tidsdiagram av faltningen mellan det tredje blocket i fig. 11 och det med nollor utfyllda filterimpulssvaret i ñg. 7; Fig. 15 är ett frekvensdiagram som illustrerar en reell-värd filteröverfö- ringsfunktion H[k]; Fig. 16 är ett tidsdiagram av filterimpulssvaret h[n] som erhålls efter transformering av överföringsfunktionen i fig. 15 till tidsdomänen; Fig. 17 är ett tidsdiagram av filterimpulssvaret i flg. 16 efter cirkulär förskjutning N/ 2 sampel; Fig. 18 är ett tidsdiagram som illustrerar ett tidsfönster W[n]; Fig. 19 är ett tidsdiagram av filterimpulssvaret i fig. 17 efter multipli- katíon med fönstret i fig. 18; Fig. 20 är ett tidsdiagram av filterimpulssvaret i fig. 19 efter cirkulär förskjutning för avlägsnande av inledande nollor; Fig. 2 1 är ett frekvensdiagram av magnituden av filteröverföringsfunk- tionen F[k] som erhålls efter transformering av filterimpulssvaret i fig. 20 till frekvensdomänen; Fig. 22 är ett frekvensdiagram av fasen för filteröverföringsfunktionen F[k] som erhålls efter transformering av filterimpulssvaret i fig. 20 till frek- vensdomänen; Fig. 23 är ett tidsdiagram av filterimpulssvaret i fig. 20 efter transfor- mering till ett filter med minimal fas; Fig. 24 är ett flödesschema av en exemplifierande utföringsform av faltningsförfarandet i enlighet med föreliggande uppfinning; och Fig. 25 är ett blockschema av en exempliñerande utföringsform av en faltningsanordning i enlighet med föreliggande uppfinning.
DETALJERADE BESKRIVNING Eftersom begreppen linjär och cirkulär faltning är väsentliga för föreliggande uppfinning kommer dessa begrepp att beskrivas mera i detalj under hänvis- ning till fig. 1- 14. lO 15 20 25 30 517 525 n u n n ø | u n u ~ Q o n ø a o. 5 Fig. 1 är ett tidsdiagram som illustrerar en kort sampelsekvens x[n] av längden L. Denna sekvens skall faltas med ett filter som har ett impulssvar h[n] som illustreras i fig. 2. Definitionen av linjär faltning i tidsdomänen är (under antagande av ett linjärt tidsinvariant system): y[n] = x[n] ® h[n] = šzx[k]h[n - k] = in this case = ïx[k]h[n - k] k=-<>o k=0 Detta uttryck kan tolkas på följande sätt: 1. Bilda en uppsättning förskjutna sekvenser (h[n], h[n-l], ..., h[n-(L-1)} som illustreras i fig. 2-4. 2. Multiplicera varje sekvens med ett motsvarande sarnpel x[O], x[1], ..., x[L-1] av sekvensen x[n]. 3. Addera de skalade sekvenserna för bildande av faltningen i enlighet med fig. 5.
Av ovanstående beskrivning och av fig. 5 framgår att den resulterande falt- ningen y[n] kommer att ha en längd på L+M-l sampel. Den filtrerade sekven- sen y[n] kommer alltså att vara längre än den ursprungliga sekvensen x[n], som endast har L sampel.
I ovanstående beskrivning har det antagits att faltningen utfördes i tidsdomä- nen. Det är dock även möjligt att utföra faltning i frekvensdomänen genom transformering av var och en av sekvenserna x[n], h[n] till frekvensdomänen under användande av den diskreta Fourier-transforrnen, DFT (i typfallet implementerad av den snabba Fourier-transformen FFT), multiplicering av motsvarande transformer med varandra och utförande av den inversa diskreta Fourier-transformen, IDFT (i typfallet implementerad av den inversa snabba 10 15 20 25 30 517 525 Onooo u | a a ø o o n n n n u o oo 6 Fourier-transformen, IFFT) tillbaka till tidsdomänen för erhållande av y[n]. I frekvensdomänen kan alltså faltningen uttryckas såsom: Y [k] = X [k]H [k] Denna metod kallas cirkulär faltning. Faktum är att denna metod ofta föredrages, eftersom den reducerar faltningens komplexitet, i synnerhet för längre filter. Det finns dock vissa problem med detta tillvägagångssätt som måste lösas: 1. I typfallet har insignalsekvensen x[n] och filtersekvensen h[n] olika längd, men de transformerade sekvenserna måste ha samma längd för att medge multiplikation av transformerna. Detta problem kan enkelt lösas genom noll-utfyllnad av den kortare sekvensen upp till längden för den längre sekvensen innan DFT-operationerna utförs. 2. Såsom noterats ovan har den filtrerade sekvensen y[n] en längd på L+M-l sampel, medan insignalsekvensen x[n] har en längd på endast L sarnpel. De första M-l samplen för denna utsignalsekvens är felaktiga på grund av s.k. tidsvikning förorsakad av en vikning tillbaka av de sista M-1 samplen i utsignalssekvensen (de sista M-1 samplen i fig. 5 skulle adderas till de första M-1 samplen). Resultatet betecknas cirkulär faltning med vikning. Vad vi önskar är emellertid en cirkulär faltning som är ekvivalent med en linjär faltning innehållande alla L+M-l samp- len av y[n]. Det lämpliga sättet att hantera detta problem är att noll- utfälla på x[n] och h[n] upp till åtminstone längden N=L+M-l av y[n] innan DFT-operationen utförs, såsom illustreras i fig. 6 och 7.
Fig. 8 är ett tidsdiagram av en längre sampelsekvens x[n]. Den längre sekven- sen kan filtreras i tidsdomänen genom användning av den ovan givna defini- tionen av linjär faltning i tidsdomänen. Eftersom filtret samtidigt endast påverkar ett begränsat (M) antal insignalsampel är det möjligt att beräkna utsamplen av y[n] "i flykten" då filtret h[n] förskjuts genom insignalsekvensen 10 15 20 25 30 517 525 o n o o o o o ø n . | | I u c ou 7 x[n]. Sålunda erfordras endast de senaste M samplen av x[n] för beräkning av det aktuella värdet y[n]. Om filtret är långt är denna metod dock tämligen komplex. I sådana fall är en frekvensdomänbaserad metod att föredraga.
I princip skulle det vara möjligt att filtrera långa sekvenser i frekvensdomänen på det sätt som beskrivits ovan. Praktiska hänsynstaganden gör dock ofta detta tillvägagångssätt oacceptabelt. Betrakta exempelvis en sekvens av talsampel vid en telefoniapplikation. I typfallet samplas tal med en samp- lingstakt på 8000 sampel per sekund. En sekund av tal kommer därför att innehålla 8000 sampel. Komplexiteten för den nödvändiga diskreta Fourier- transformen och inversa Fourier-transformen skulle vara ansenlig för sådana långa sekvenser. Ett annat problem är att en sådan metod skulle leda till oacceptabla fördröjningar, eftersom hela insignalsekvensen måste insamlas innan den diskreta Fourier-transformen kan beräknas. En bättre metod är att använda blockfaltning i enlighet med någon av metoderna "overlap-save" och "overlap-add". Metoden "overlap-add" kommer nu att beskrivas under hänvis- ning till fig. 8-14.
I enlighet med metoden ”overlap-add” uppdelas den långa insignalsekvensen x[n] i fig. 8 i block med längden L, såsom illustreras i fig. 9-11. Varje block fylls ut med nollor upp till den erforderliga längden L+M-l (M är filterlängden).
Varje noll-utfyllt block faltas med den noll-utfyllda ñltret (se fig. 7) i frekvens- domänen, såsom beskrivits under hänvisning till fig. 6-7. Detta resulterar i de faltade block som illustreras i fig. 12-14. Slutligen adderas de faltade sekven- serna för bildande av utsignalsekvensen y[n]. Det noteras att i överlappnings- regionerna som indikeras i fig. 12-14 erhålls slutresultatet genom addering av delresultat från två blockfaltningar. Detta är anledningen till namnet "overlap- add".
Metoden "overlap-save" liknar metoden "overlap-add". I detta fall är det dock blocken i insignalsekvensen x[n] som överlappar (de sista samplen i ett block är identiska med de första samplen i nästa block). Efter faltning i frekvensdo- 10 15 20 25 517 525 no uno 8 månen ignoreras de felaktiga första M-1 samplen i varje ñltrerat block (de sampel som innehåller tidsvikning) innan blocken åter sätts ihop.
I vissa tillämpningar bestäms filtret i frekvensdomänen. Vid exempelvis telefoniapplikationer används ofta brusundertryckning baserad på spektral subtraktion (se [1, 2]). I detta fall bestäms filtret som en funktion H60) aV frekvensen: ß ma) = i-al êvlwfla 43,401) där G» ß, Ö ål' kfmstanïef 0011 och är skattningar av den spektrala effekttätheten för rent brus resp. brushaltigt tal. Detta uttryck erhålls ur modellen: X[f'1]= y[n] + v[n] där v[n] är brussignalen, x[n] är den brushaltiga talsignalen och y[n] är den önskade talsignalen. En skattning av den önskade signalen y[n], i vilket brustet har undertryckts, erhålls genom applicering av filtret som represente- ras av H(m) på den brushaltiga signalen x[n].
Ett annat exempel på en tillämpning i vilken filtret bestäms i frekvensdomä- nen är en frekvensselektiv icke-linjär processor för ekosläckning. I detta fall definieras filtret av funktionen: H = f(<í>,,<«»>,<ï>:) där Cl)x(a)) representerar en skattning av den spektrala effekttätheten för en signal x[n] förorenad av eko och Cl3e(a)) representerar en skattning av den spektrala effekttätheten för ekosignalen e[n]. Filtret baseras på modellen: 10 15 20 25 30 517 525 no un: 9 xlfl] = y[n] + elfl] där y[n] år den önskade talsignalen. En skattning av den önskade signalen y[n], i vilken ekot har släckts, erhålls genom applicering av filtret som repre- senteras av H(co) på den ekoinnehållande signalen x[n]. l ovanstående exempel beskrivs filtret av en reellvärd frekvenskontinuerlig överföringsfunkfion H(co). Denna funktion samplas för erhållande av en frekvensdiskret överföringsfunktion H[k]. Detta steg utförs i typfallet när skattningarna baseras på parametriska skattningsmetoder. Det är dock även möjligt att erhålla den frekvensdiskreta överföringsfunktionen H[k] direkt, exempelvis genom användande av periodogrambaserade skattningsmetoder.
En fördel hos parametriska skattningsmetoder är att skattningarna i typfallet har lägre varians än skattningar från periodogrambaserade metoder.
Fig. 15 är ett frekvensdiagram som illustrerar ett exempel på en reellvärd frekvensdiskret ñlteröverföringsfunktion H[k]. Fig. 16 är ett tidsdiagram av det filterimpulssvar h[n] som erhålls efter transformering av överföringsfunktionen i fig. 15 till tidsdomänen genom användande av en invers diskret Fourier- transform. Såsom framgår av fig. 15 har detta filter vissa mindre gynnsamma egenskaper: 1. Filtret har full längd N, vilket innebär att den redan beräknade överfö- ringsfunktionen H[k] i fig. 15 ej kan användas för faltning i frekvensdo- mänen utan förorsakande av tidsvikning, såsom beskrivits ovan. 2. Om faltningen utförs i tidsdomänen är filtret ej lämpligt, eftersom dess topp år uppdelad mellan filtrets h[n] början och slut. Detta kommer att introducera en lång algoritmisk behandlingsfördröjning.
I enlighet med föreliggande uppfinning kan båda dessa nackdelar undvikas.
Detta kommer nu att förklaras under hänvisning till fig. 17-22. 10 15 20 25 30 517 525 10 Det första steget är att cirkulärt förskjuta filtret h[n] med N/ 2 sampelpositio- ner. Matematiskt kan detta uttryckas som: h[n] -> h[(n + N / 2) modn] Fig. 17 är ett tidsdiagram av filterimpulssvaret i fig. 16 efter en cirkulär förskjutning på N/ 2 sampel (N antages vara ett jämnt heltal i detta exempel).
Nästa steg är att pålägga ett fönster på det skiftade filtret. Fig. 18 är ett tidsdiagram som illustrerar ett exempel på ett tidsfönster w[n]. I detta fall är fönstret ett Kaiser-fönster (se [5]) med en längd på M sampel (i exemplet antages M vara ett udda heltal som är mindre än N). Fig. 19 är ett tidsdiagram av filterimpulssvaret i fig. 17 efter multiplikation med fönstret i fig. 18.
Resultatet är ett filter u[n] med inledande och avslutade nollor.
Företrädesvis avlägsnas de inledande nollorna genom ytterligare en cirkulär förskjutning på D sampel, där D är antalet inledande nollor. Fig. 20 är ett tidsdiagram av ñlterimpulssvaret i fig. 19 efter cirkulär förskjutning för avlägsnande av inledande nollor. Det resulterande filtret f[n] kommer att ha sin första från noll skilda tapp vid n=O och kommer att ha N-M avslutande nollor.
Resultatet av stegen som utförs i fig. 17-20 illustreras i fig. 21-22. Fig. 21 är ett frekvensdiagrarn av magnituden av filteröverföringsfunktionen F[k] som erhålls efter transformering av filterimpulssvaret f[n] i fig. 20 till frekvensdo- månen. Fig. 22 är ett motsvarande frekvensdiagram av fasen av filteröverfö- ringsfunktionen F[k]. Såsom framgår av dessa figurer har det reell-värda filtret h[K] transformerats till ett filter F[k] med linjär fas (egentligen erhålls linjär fas redan efter den första cirkulära förskjutningen i fig. 17). lO 15 20 25 30 517 525 .gfiïïïj 11 Det noteras att det transformerade filtret fln] i fig. 20 har en effektiv längd på endast M tappar och att de återstående N-M tapparna är noll. Detta faktum kan utnyttjas på två sätt: l. Nollorna kan användas för implementering av linjär faltning i frekvens- domänen genom användande av cirkulär faltning av block med längden L i kombination med metoden "overlap-add" (ñg. 8-14) eller metoden "overlap-save". Blocklängden L erhålls såsom: L s N - M +1 2. Faltningen kan utföras i tidsdomänen om ñlterlängden M väljs tillräck- ligt kort.
GSM-systemet kommer nu att användas som ett exempel på denna procedur.
Detta system har redan en naturlig blocklängd för blockfaltning, eftersom talet indelas i ramar på 160 sampel. Ett naturligt val är därför en faltningsblock- längd L på 160 sampel. Detta leder till en naturlig längd N för den snabba Fourier-transformen på 256 sampel. Detta resulterar i en maximal ñlterlängd M på 97 sampel (M<=N-L+l).
För en faltningsblocklängd på 256 sarnpel ligger filterlängden i typfallet i intervallet 20-97 ñltertappar. För ett Kaiser-fönster ligger parametern ß i typfallet i intervallet 2-5. Experiment har visat att en filterlängd M på 55 sampel erhållen ur ett Kaiser-fönster med en längd på 55 sampel och en parameter ß=3 är ett bra val, som även tillåter implementering av faltningen i tidsdomänen genom användning av en signalprocessor.
Fig. 20 illustrerar att filtret f[n] med linjär fas är symmetriskt kring toppen vid (M-1) /2. Detta leder till en algoritmisk fördröjning P lika med halva ñlterläng- den. Denna algoritmiska fördröjning kan reduceras genom transformering av filtret f[n] till ett filter med minimal fas. Ett filter med minimal fas kan erhållas 10 15 20 25 517 525 12 ur filtret med linjär fas i fig. 20 genom användning av den metod som beskrivs i [6]. Kort uttryckt börjar denna metod med uttrycket: " k f (2) = Zflklz k=-n där f[k] är tapparna för ett filter med linjär fas som skall omcentreras (förskjutas linjärt) så att det är symmetriskt kring tappen O i stället för tappen (M-1)/2 som i fig. 20. Enligt det spektrala faktoriseringslemmat kan f(z) även skrivas som: f=cgg där C är en konstant och g(z) är ett polynom g(z) = z" + g1z"_1+...+gn som har alla nollställen inuti enhetscirkeln. Om g(z) bestäms kan ett filter med minimal fas som har samma magnitudsvar i frekvensdomänen som filtret med linjär fas erhållas som: Cg(2)g(2) Flera metoder existerar för bestämning av koefficienterna för g(z) ur koeffici- enterna för f(z). Exempelvis kan g(z) bestämmas genom lösning av det icke- linjära ekvationssystemet: fo go g1 g" go f1 _ Û go gn-l 81 f” 0 0 go g" 10 15 20 25 30 517 525 :jjë -íïfïš u u u u I | n c u: 13 genom användning av Newton-Rapsons algoritm. Applicering av det spek- trala faktoriseringslemmat på filtret med linjär fas i fig. 20 resulterar i ett filter med minimal fas med samma magnitudsvar (fig. 21) i frekvensdomä- nen. I tidsdomänen har den algoritmiska fördröjningen P i fig. 22 reducerats, såsom illustreras i fig. 23.
I ovanstående beskrivning av fig. 15-23 har en viss behandlingsordning antagits. Exempelvis utfördes den cirkulära förskjutningen i fig. 17 innan fönsterappliceringen i fig. 19. Denna ordningsföljd kan dock omkastas om fönstret förskjuts cirkulärt på motsvarande sätt. Vidare kan den cirkulära förskjutningen i fig. 20 elimineras genom inkludering av densamma i den cirkulära förskjutningen i fig. 17 och en motsvarande cirkulär förskjutning av fönstret.
I denna beskrivning har ett Kaiser-fönster använts. Alla andra vanliga fönstertyper, såsom Hamming-, Hanning-, Barlett-fönster etc. är dock också tänkbara. T.o.m. ett rektangulärt fönster kan användas.
Fig. 24 är ett flödesschema av en exemplifierande utföringsform av falt- ningsförfarandet i enlighet med föreliggande uppfinning. Denna utförings- form är relaterad till brusundertryckning och använder faltning i frekvens- domänen baserad på metoden "overlap-add" och filtrering med minimal fas.
Steg S1 insamlar nästa insignalblock. Genom användning av detta block bestämmer steg S2 överföringsfunktionen H[k] ur den ovan beskrivna brusundertryckningsalgoritmen. Steg S3 transformerar H[k] till tidsdomänen genom användning av den inversa Fourier-transformen. Steg S4 förskjuter cirkulärt filtrets representation i tidsdomänen N/ 2 sampel för bildande av ett ñlter med linjär fas. Steg S5 applicerar ett fönster på filtret med linjär fas för reducering av dess längd. Steg S6 utför ytterligare en cirkulär förskjutning för avlägsnande av inledande nollor som skapats av fönstret. Steg S7 transformerar det resulterande filtret med linjär fas och reducerad längd till ett filter med minimal fas. Steg S8 transformerar det redan med nollor 10 15 20 25 30 517 525 14 utfyllda filtret och det med nollor utfyllda insignalblocket till frekvensdomä- nen genom användning av den snabba Fourier-transformen. Steg S9 multi- plicerar filtertransformen med signalblocktransformen för utförande av faltningen. Steg S10 transformerar resultatet tillbaka till tidsdomänen genom användning av den inversa snabba Fourier-transformen. Steg S11 kombinerar det aktuella faltade blocket med föregående block i enlighet med fig. 12-14. Därefter återgår algoritmen till steg S1 för insamling av nästa insignalblock och upprepas proceduren.
Om faltningen utförs i tidsdomänen ersätts stegen S8-Sll av ett faltnings- steg i tidsdomänen.
Fig. 25 är ett blockschema av en exemplifierande utföringsform av en faltningsanordning i enlighet med föreliggande uppfinning. Denna utfö- ringsform är lämplig för utförande av förfarandet som beskrivits i fig. 24. En insignal x[n] leds till en buffert 10, som insamlar och lagrar ett signalblock.
Ett filterkonstruktionsblock använder insignalblocket för beräkning av brusundertryckningsfiltret l-l[k]. Ett IFFT-block 14 transformerar filtret till tidsdomänen. Ett block för cirkulär förskjutning förskjuter filtrets tidsrepre- sentation N/ 2 sampel. Ett fönsterblock 18 applicerar ett fönster på det förskjutna filtret. Ett annat block 20 för cirkulär förskjutning avlägsnar inledande nollor frän filtret med reducerad längd. Ett block 22 för erhållande av minimal fas transformerar filtret till ett filter med minimal fas. Ett FFT- block transformerar filtret tillbaka till frekvensdomänen. Transformen leds till ett multiplikationsblock 26. Insignalblocket från bufferten leds också till ett noll-utfyllnadsblock 20, som lägger till nollor till blocket upp till längden L+M-1. Det med nollor utfyllda blocket transformeras till frekvensdomänen av ett FFT-block 30. Transformen leds till multiplikationsblockets 26 andra ingång. Det faltade signalblocket från multiplikationsblocket 30 transforme- ras tillbaka till tidsdomänen i ett IFFT-block 32. Tidsrepresentationen av det faltade blocket leds till en överlappningsbuffert 34 och till ett kombinerings- block 36. Överlappningsbufferten 34 extraherar överlappningsdelen (den sista delen) av det mottagna signalblocket och utmatar den lagrade över- 10 15 20 25 30 517 525 2"; .z": 'f .ääïïï s n | | ø Q ø o u o . I - | ø v. 15 lappningsdelen av föregående faltade signalblock. Kombineringsblocket 36 adderar överlappningsdelen från föregående block till början av det aktuella blocket och utmatar den återstående delen av det aktuella blocket utan förändring. Resultatet är den faltade signalen y[n].
I typfallet implementeras blocken i fig. 25 av en eller flera mikroprocessorer eller mikro/ signalprocessorkombinationer.
Om faltningen utförs i tidsdomänen ersätts blocken 24-36 av ett block för tidsdomänfaltning.
Snarare än att upprepa ovanstående beskrivning noteras att en anordning för digital filterkonstruktion i enlighet med en exemplifierande utföringsform av föreliggande uppfinning kommer att inkludera blocken 10-22 i fig. 25.
Fackmannen inser att olika modifieringar och förändringar kan vidtagas vid föreliggande utan avvikelse från dess ram, som definieras av de bifogade patentkraven.
REFERENSER [1] J.S. Lim and A.V. Oppenheim, “Enhancement and bandwidth com- pression of noisy speech”, Proc. of the IEEE, Vol. 67, Nr. 12, 1979, sid. 1586-1604. [2] S.F. Boll, “Suppression of acoustic noise in speech using spectral subtraction”, IEEE Trans. on Acoustics, Speech and Signal Processing, Vol. ASSP-27, Nr. 2, 1979, sid.ll3-120. [3] L.R. Rabiner and B. Gold, “Theory and application of digital signal processing” , Prentice Hall, Englewood Cliffs, NJ., 1975, sid. 59-67. 517 525 16 I -u a a u ; n Q n n | ø n v § n. [4] H. Gustafsson et al., “Spectral subtraction using correct convolution and a spectrum dependent exponential averaging method”, Research Report 15/98, Department of Signal Processing, University of Karls- krona/ Ronneby, Sverige, 1998. [5] A.V. Oppenheim and R.V. Schafer, “Discrete-time signal processing”, Prentice Hall, Engelwood Cliffs, NJ., 1989, sid. 447-456. [6] T. Söderström and P. Stoica, “System Identification", Prentice Hall 10 International, London, U.K., 1989, sid. 172-182.
Claims (22)
1. Förfarande för konstruktion av ett digitalt filter, kännetecknat av stegen: bestämning av en reell-värd frekvensdiskret representation av ett önskat digitalt filter med full längd; transformering av den frekvensdiskreta representationen till en motsva- rande tidsdiskret representation; cirkulär förskjutning av den tidsdiskrets representationen; och applicering av ett avkortande fönster på den tidsdiskreta representatio- nen för bildande av ett med nollor utfyllt filter med reducerad aktiv längd.
2. Förfarande enligt krav 1, kännetecknat av cirkulär förskjutning av filtret med reducerad aktiv längd för avlägsnande av inledande nollor.
3. Förfarande enligt krav 1 eller 2, kännetecknat av att den reell-värda frekvensdiskreta representationen bildas av en brusundertryckande spektral subtraktionsalgoritm.
4. Förfarande enligt krav 1 eller 2, kännetecknat av att den reell-värda frekvensdiskreta representationen bildas av en frekvensselektiv icke-linjär algoritm för ekosläckning.
5. Förfarande enligt något av föregående krav, kännetecknat av att fönstret är ett Kaiser-fönster.
6. Förfarande enligt något av föregående krav, kännetecknat av transfor- mering av ñltret med reducerad aktiv längd till ett filter med minimal fas.
7. Förfarande för digital faltning, kännetecknat av stegen: bestämning av en reell-värd frekvensdiskret representation av ett önskat digitalt filter med full längd; 10 15 20 25 30 517 525 IS . I ' . . . O I I .- transformering av den frekvensdiskreta representationen till en motsva- rande tidsdiskret representation; cirkulär förskjutning av den tidsdiskreta representationen; applicering av ett avkortande fönster på den tidsdiskreta representatio- nen för bildande av ett med nollor utfyllt ñlter med reducerad aktiv längd; och faltning av insignalen med det med nollor utfyllda filtret med reducerad längd.
8. Förfarande enligt krav 7, kännetecknat av cirkulär förskjutning av filtret med reducerad aktiv längd för avlägsnande av inledande nollor.
9. Förfarande enligt krav 7, kännetecknat av transformering av filtret med reducerad aktiv längd till ett ñlter med minimal fas.
10. Förfarande enligt krav 7, 8 eller 9, kännetecknat av utförande av faltningssteget i tidsdomänen genom användning av den tidsdiskreta repre- sentationen av filtret med reducerad aktiv längd.
11. Förfarande enligt krav 7, 8 eller 9, kännetecknat av utförande av faltningssteget i frekvensdomänen genom användning av metoden overlap- add.
12. Förfarande enligt krav 7, 8 eller 9, kännetecknat av utförande av faltningssteget i frekvensdomänen genom användning av metoden overlap- SaVC .
13. Anordning för konstruktion av digitala ñlter, kännetecknad av organ (12) för bestämning av en reell-värd frekvensdiskret representa- tion av ett önskat digitalt ñlter med full längd; organ (14) för transformering av den frekvensdiskreta representationen till en motsvarande tidsdiskret representation; organ (16) för cirkulär förskjutning av den tidsdiskreta representatio- nen; och 10 15 20 25 30 517 525 /fi ø - . . . . . . .. organ (18) för applicering av ett avkortande fönster på den tidsdiskreta representationen för bildande av ett med nollor utfyllt filter med reducerad akfiviängd.
14. Anordning enligt krav 13, kännetecknad av organ (20) för cirkulär förskjutning av filtret med reducerad aktiv längd för avlägsnande av inledande nollor.
15. Anordning enligt krav 13 eller 14, kännetecknad av att nämnda organ (18) för fönsterapplicering implementerar ett Kaiser-fönster.
16. Anordning enligt något av föregående krav 13-15, kännetecknar! av organ (22) för transformering av filtret med reducerad aktiv längd till ett filter med minimal fas.
17. Anordning för digital faltning, kännetecknar! av organ (12) för bestämning av en reell-värd frekvensdiskret representa- tion av ett önskat digitalt filter med full längd; organ (14) för transformering av den frekvensdiskreta representationen till en motsvarande tidsdiskret representation; organ (16) för cirkulär förskjutning av den tidsdiskreta representatio- nen; organ (18) för applicering av ett avkortande fönster på den tidsdiskreta representationen för bildande av ett med nollor utfyllt filter med reducerad aktiv längd; och organ (24-36) för faltning av en insignal med det med nollor utfyllda filtret med reducerad längd.
18. Anordning enligt krav 17, kännetecknad av organ (20) för cirkulär förskjutning av filtret med reducerad aktiv längd för avlägsnande av inledande nollor. 10 15 517 525 20 . . . . . I I 0 ..
19. Anordning enligt krav 17, kännetecknad av organ (22) för transfor- mering av filtret med reducerad aktiv längd till ett filter med minimal fas.
20. Anordning enligt krav 17, 18 eller 19, kännetecknad av organ för utförande av faltningssteget i tidsdomänen genom användning av den tids- diskreta representationen av filtret med reducerad aktiv längd.
21. Anordning enligt krav 17, 18 eller 19, kännetecknad av organ (24-36) för utförande av faltningssteget i frekvensdomänen genom användning av metoden overlap-add.
22. Anordning enligt krav 17 , 18 eller 19, kännetecknad av organ för utförande av faltningssteget i frekvensdomänen genom användning av meto- den overlap-save.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9903161A SE517525C2 (sv) | 1999-09-07 | 1999-09-07 | Förfarande och anordning för konstruktion av digitala filter |
CNB008125317A CN1197242C (zh) | 1999-09-07 | 2000-08-23 | 数字滤波器设计 |
AU68847/00A AU6884700A (en) | 1999-09-07 | 2000-08-23 | Digital filter design |
PCT/SE2000/001608 WO2001018960A1 (en) | 1999-09-07 | 2000-08-23 | Digital filter design |
EP00957194.4A EP1221196B1 (en) | 1999-09-07 | 2000-08-23 | Digital filter design |
US09/655,755 US7251271B1 (en) | 1999-09-07 | 2000-09-06 | Digital filter design |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9903161A SE517525C2 (sv) | 1999-09-07 | 1999-09-07 | Förfarande och anordning för konstruktion av digitala filter |
Publications (3)
Publication Number | Publication Date |
---|---|
SE9903161D0 SE9903161D0 (sv) | 1999-09-07 |
SE9903161L SE9903161L (sv) | 2001-03-08 |
SE517525C2 true SE517525C2 (sv) | 2002-06-18 |
Family
ID=20416886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE9903161A SE517525C2 (sv) | 1999-09-07 | 1999-09-07 | Förfarande och anordning för konstruktion av digitala filter |
Country Status (6)
Country | Link |
---|---|
US (1) | US7251271B1 (sv) |
EP (1) | EP1221196B1 (sv) |
CN (1) | CN1197242C (sv) |
AU (1) | AU6884700A (sv) |
SE (1) | SE517525C2 (sv) |
WO (1) | WO2001018960A1 (sv) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE521693C3 (sv) | 2001-03-30 | 2004-02-04 | Ericsson Telefon Ab L M | En metod och anordning för brusundertryckning |
TW200501565A (en) * | 2003-05-15 | 2005-01-01 | Neuro Solution Corp | Digital filter and design method, design apparatus, and digital filter design program thereof |
CN1965478A (zh) * | 2004-11-05 | 2007-05-16 | 神经网路处理有限公司 | 数字滤波器及其设计方法、设计装置、数字滤波器设计用程序 |
US8086451B2 (en) | 2005-04-20 | 2011-12-27 | Qnx Software Systems Co. | System for improving speech intelligibility through high frequency compression |
US8249861B2 (en) | 2005-04-20 | 2012-08-21 | Qnx Software Systems Limited | High frequency compression integration |
US7813931B2 (en) | 2005-04-20 | 2010-10-12 | QNX Software Systems, Co. | System for improving speech quality and intelligibility with bandwidth compression/expansion |
US8311840B2 (en) | 2005-06-28 | 2012-11-13 | Qnx Software Systems Limited | Frequency extension of harmonic signals |
US8078659B2 (en) * | 2005-10-31 | 2011-12-13 | Telefonaktiebolaget L M Ericsson (Publ) | Reduction of digital filter delay |
US7546237B2 (en) | 2005-12-23 | 2009-06-09 | Qnx Software Systems (Wavemakers), Inc. | Bandwidth extension of narrowband speech |
EP1879293B1 (en) | 2006-07-10 | 2019-02-20 | Harman Becker Automotive Systems GmbH | Partitioned fast convolution in the time and frequency domain |
EP1879292B1 (en) * | 2006-07-10 | 2013-03-06 | Harman Becker Automotive Systems GmbH | Partitioned fast convolution |
US7834873B2 (en) * | 2006-08-25 | 2010-11-16 | Intel Corporation | Display processing line buffers incorporating pipeline overlap |
US7912729B2 (en) | 2007-02-23 | 2011-03-22 | Qnx Software Systems Co. | High-frequency bandwidth extension in the time domain |
CN100463367C (zh) * | 2007-03-12 | 2009-02-18 | 北京航空航天大学 | 一种章动频率自动跟踪的高通数字滤波方法 |
JP2010219582A (ja) * | 2009-03-13 | 2010-09-30 | Sony Corp | フィルタリング装置、フィルタリング方法、プログラムおよびサラウンドプロセッサ |
EP2730026B1 (en) * | 2011-05-05 | 2020-09-30 | Cerence Operating Company | Low-delay filtering |
US20130332498A1 (en) * | 2012-05-21 | 2013-12-12 | Stmicroelectronics, Inc. | Method and apparatus for efficient frequency-domain implementation of time-varying filters |
ES2671636T3 (es) * | 2012-11-09 | 2018-06-07 | Nederlandse Organisatie Voor Toegepast- Natuurwetenschappelijk Onderzoek Tno | Control de separación del vehículo |
CN103164575A (zh) * | 2013-03-06 | 2013-06-19 | 中颖电子股份有限公司 | 简化设计复杂度的rom结构数字滤波器系统 |
AU2015357082B2 (en) * | 2014-12-03 | 2021-05-27 | Mqa Limited | Non linear filter with group delay at pre-response frequency for high res audio |
DE102016200637B3 (de) * | 2016-01-19 | 2017-04-27 | Sivantos Pte. Ltd. | Verfahren zur Reduktion der Latenzzeit einer Filterbank zur Filterung eines Audiosignals sowie Verfahren zum latenzarmen Betrieb eines Hörsystems |
JP6763721B2 (ja) * | 2016-08-05 | 2020-09-30 | 大学共同利用機関法人情報・システム研究機構 | 音源分離装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1158646B (it) * | 1982-06-11 | 1987-02-18 | Consiglio Nazionale Ricerche | Sistema di equalizzazione adattiva auto-ortogonalizzante nel dominio delle frequenze discrete ed equalizzatore che attua il sistema |
US4636972A (en) * | 1983-11-25 | 1987-01-13 | Sanders Associates, Inc. | Method and apparatus for digital filtering |
WO1990014719A1 (de) * | 1989-05-17 | 1990-11-29 | Telefunken Fernseh Und Rundfunk Gmbh | Verfahren zur übertragung eines signals |
US5202900A (en) * | 1989-08-07 | 1993-04-13 | Motorola, Inc. | Spectrally efficient digital FM modulated transmitter |
GB9103777D0 (en) * | 1991-02-22 | 1991-04-10 | B & W Loudspeakers | Analogue and digital convertors |
GB9112570D0 (en) * | 1991-06-11 | 1991-07-31 | Inmos Ltd | Video signal processing |
US5337264A (en) * | 1992-06-01 | 1994-08-09 | Levien Raphael L | Time reversal gaussian approximation filter |
US5606575A (en) * | 1993-10-29 | 1997-02-25 | Airnet Communications Corporation | FFT-based channelizer and combiner employing residue-adder-implemented phase advance |
US5686683A (en) * | 1995-10-23 | 1997-11-11 | The Regents Of The University Of California | Inverse transform narrow band/broad band sound synthesis |
US5809069A (en) | 1996-07-19 | 1998-09-15 | Texas Instruments Incorporated | Frequency-domain carrierless AM-PM demodulator |
US6236731B1 (en) * | 1997-04-16 | 2001-05-22 | Dspfactory Ltd. | Filterbank structure and method for filtering and separating an information signal into different bands, particularly for audio signal in hearing aids |
US6459914B1 (en) * | 1998-05-27 | 2002-10-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Signal noise reduction by spectral subtraction using spectrum dependent exponential gain function averaging |
-
1999
- 1999-09-07 SE SE9903161A patent/SE517525C2/sv not_active IP Right Cessation
-
2000
- 2000-08-23 CN CNB008125317A patent/CN1197242C/zh not_active Expired - Fee Related
- 2000-08-23 WO PCT/SE2000/001608 patent/WO2001018960A1/en active Application Filing
- 2000-08-23 EP EP00957194.4A patent/EP1221196B1/en not_active Expired - Lifetime
- 2000-08-23 AU AU68847/00A patent/AU6884700A/en not_active Abandoned
- 2000-09-06 US US09/655,755 patent/US7251271B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1197242C (zh) | 2005-04-13 |
SE9903161L (sv) | 2001-03-08 |
EP1221196B1 (en) | 2016-11-09 |
WO2001018960A1 (en) | 2001-03-15 |
CN1372718A (zh) | 2002-10-02 |
EP1221196A1 (en) | 2002-07-10 |
SE9903161D0 (sv) | 1999-09-07 |
US7251271B1 (en) | 2007-07-31 |
AU6884700A (en) | 2001-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SE517525C2 (sv) | Förfarande och anordning för konstruktion av digitala filter | |
EP0649578B1 (en) | Digital filter having high accuracy and efficiency | |
SE519885C2 (sv) | Förfarande och anordning för omvandling av samplingsfrekvens | |
KR101450044B1 (ko) | 비선형 오차의 추정 및 보상을 위한 방법 및 장치 | |
Kaur et al. | Digital filteration of ECG signals for removal of baseline drift | |
US20080256160A1 (en) | Reduction of Digital Filter Delay | |
EP3466004B1 (en) | Method and apparatus for sampling rate conversion of a stream of samples | |
CN101106365A (zh) | 数字滤波器与使用其的影像处理装置 | |
JP3281001B2 (ja) | ビデオ信号列からゴースト信号を濾波する方法および装置 | |
Trinder | Hardware-software configuration for high performance digital filtering in real-time | |
US8340285B2 (en) | Method for efficient and zero latency filtering in a long impulse response system | |
Suresh et al. | Block convolution using discrete trigonometric transforms and discrete Fourier transform | |
JP2015210637A (ja) | 高速畳込近似装置、高速畳込近似方法、プログラム | |
CN107453732B (zh) | 一种信号采样率转换方法及装置 | |
Zuluaga et al. | Poly-phase filter-bank realization for the simulation of electric-network transients | |
Zazula | Asymptotically exact computation of differential cepstrum using FFT approach | |
Gray | Parallel sub-convolution filter bank architectures | |
JP2005063137A (ja) | 高速畳み込み近似方法、この方法を実施する装置、プログラム、記憶媒体 | |
Ding | Approximation and design methods for efficient filters with less multiplication requirement | |
EP1078455B1 (en) | Adaptive filter | |
JP2622962B2 (ja) | Fftアナライザのズーミング装置 | |
Péceli et al. | Block-recursive filters and filter-banks | |
Shil | A Study on Some Discrete Transforms of Engineering Sciences | |
Olsson et al. | Scaling and round-off noise in multistage interpolators and decimators | |
JP2002049611A (ja) | 再帰型離散フーリエ変換方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NUG | Patent has lapsed |