Филтър с равни вълни

Един филтър с равни вълни е просто един филтър с вълни с една и съща височина.

Амплитудният спектър на цифровите филтри на практика може да има вълни. Амплитудният спектър на един нискочестотен филтър с ограничен импулсен спектър например може да има вълни близо до своята преходната честота, защото типичните методи, които се използват за създаването на филтъра, използват непрекъснати функции (например с преобразуването на Фурие) като приближение към идеалния амплитуден спектър, който пък има прекъсване. Тези вълни са изражението на феномена на Гибс.

Фактът, че филтрите с равни вълни имат вълни с една и съща височина не е много важно. По-важно е, че алгоритмите за създаване на такива филтри позволяват да се контролира височината на тези вълни. Самото това не е присъщо само за филтрите с равни вълни.

Цифров филтър с равни вълни с неограничен импулсен спектър

Елиптичният филтър е един филтър с равни вълни и неограничен импулсен спектър.

Цифров филтър с равни вълни с ограничен импулсен спектър

Един филтър с ограничен импулсен спектър и с равни вълни може да се създаде с последователни повторения на дискретизираното преобразуване на Фурие ("discrete Fourier transform" или "DFT") и обратното дискретизирано преобразуване на Фурие. Следното е един пример.

Да предположим, че искаме да създадем един нискочестотен филтър с ограничен импулсен спектър и с дължина N = 39 при преходната честота fc = 150 Hz, като пробната честота е fs = 2000 Hz. Искаме също така един амплитуден спектър на този филтър, който е между ±0.3 (около ±0.25 dB) в лентата на пропускане и който не надвишава 0.3 (-30 dB) в лентата на спиране. Определяме лентата на спиране като всичко над 500 Hz и лентата на пропускане като честотите между 0 и 90 Hz. Честотите между 90 Hz и 500 Hz ще бъдат преходната лента на филтъра.

Започваме с обратното дискретизирано преобразуване на Фурие на търсения идеален амплитуден спектър. Избираме едно преобразуване, да кажем, от 201 компонента и създаваме един търсен идеален амплитуден спектър, който е симетричен спрямо нулата.

$$|H(k)|=\begin{cases} 0, & k=-100,-99,...,-16 \\ 1, & k=-15,-14,...,15 \\ 0, & k=16, 17, ..., 100\end{cases}$$

Да предположим, че пробната честота е 2000 Hz. Тогава, 201 компонента на обратния DFT ще са равно разпределени на 2000 / 201 ≈ 9.95 Hz 15-тия компонент е при -149.25 Hz. Така, амплитудният спектър, както е определен по-горе, за този обратен DFT, може също да се запише по следния начин

$$|H(f)|=\begin{cases} 0, & f \lt -149.25\,Hz \\ 1, & -149.25\,Hz \le f \le 149.25\,Hz \\ 0, & f \gt 149.25\,Hz\end{cases}$$

Това е един идеален амплитуден спектър на един нискочестотен филтър приблизително при 150 Hz. Изчисляваме филтъра a(k) с обобщения обратен DFT по следния начин.

$$a(k+100)=\frac{1}{102} \sum_{n=-100}^{100} {|H(n)| \, cos(\frac{2\pi k n}{201})}$$

k = -100, -99, …, 100. Обратният DFT ще произведе един филтър от 201 точки. Тъй като се интересуваме само от един филтър с 39 точки, вземаме средните 39 точки от началните 201.

$$a(k)=\begin{cases} 0, \,k \le 80 \\ a(k), \,80 \lt k \lt 120 \\ 0, \,k \ge 120 \end{cases}$$

Пробваме получения филтър с DFT.

$$H(k)=\sum_{n=0}^{201} {a(k) (cos(\frac{2\pi k n}{201})-j \,sin(\frac{2\pi k n}{201}))}$$

k = -100, -99, …, 100. Амплитудният спектър на този филтър е

$$|H(k)|=\sqrt{Re(H(k))^2+Im(H(k))^2}$$

Този амплитуден спектър е показан на следната графика. Амплитудният спектър не задоволява всички желани критерии. Въпреки че лентата на спиране вече е под 0.3, лентата на пропускане не е в предложените граници между 0.97 и 1.03 (виж прекъснатите линии).

Графика на амплитудния спектър на филтъра

Поправяме амплитудния спектър, като го вкарваме в предложените граници. В лентата на пропускане, за компонентите на DFT между -90 Hz и 90 Hz (т.e., k = -9, 8, …, 9).

$$|H(k)|=\begin{cases} 1.03, \, |H(k)| \gt 1.03 \\ 0.97, \, |H(k)| \lt 0.97 \\ |H(k)|, \, 0.97 \le |H(k)| \le 1.03 \end{cases}$$

k = -9, -8, …, 9. В лентата на спиране

$$|H(k)|=\begin{cases} 0.3, \, |H(k)| \gt 0.3 \\ |H(k)|, \, |H(k)| \le 0.3 \end{cases}$$

k = -50, -49, …, -30, 30, 31, …, 50.

За всеки случай, заради теоремата за дискретизацията и тъй като обратното DFT произвежда излишна информация при работата с реални данни, нулираме |H(k)| извън (-1000 Hz, 1000 Hz). |H(k)| = 0 за k = -100, -99, …, -51, 51, 52, …, 100.

Изработваме обратното DFT на този нов амплитуден спектър и повтаряме DFT за да пробваме получения филтър. Повтаряме този процес няколко пъти. Всяко повторения натиска по-големите вълни на получения филтър – тези, които са извън предложените критерии. След пет повторения например, ще получим амплитудния спектър показан тук (прекъснатата линия показва филтъра след едно повторение; непрекъсната линия показва филтъра след пет повторения).

Графика на амплитудния спектър на филтъра след пет повторения

След още няколко повторения, ще получим филтъра показан по-долу. Тази графика показва, че филтъра започва да се доближава към един филтър с предложените характеристики. Също така, този филтър има вълни, които са горе-долу равни. Филтърът в тази графика използва 100 повторения, но това е един случаен избор.

Амплитуден спектър на един филтър с равни вълни

Алгоритъмът, показан тук, не винаги клони към едно крайно решение. Алгоритъмът може да не стигне до това решение, ако например критериите са по-строги, като ако искахме по-малки вълни или по-къса преходна лента. Алгоритъмът може да не клони към едно крайно решение и ако операциите DFT не са достатъчно прецизни, като ако дължината на DFT е по-малка или пък даже и ако самият филтър е по-къс.

Използването на DFT за да се произведе един филтър с ограничен импулсен спектър и равни вълни не е единственият такъв алгоритъм. Алгоритъмът на Паркс и МакКелан е друг такъв алгоритъм с итерации, който използва приближения на Чебишев, вместо DFT.

Добави нов коментар

Filtered HTML

  • Freelinking helps you easily create HTML links. Links take the form of [[indicator:target|Title]]. By default (no indicator): Click to view a local node.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.