[an error occurred while processing this directive]
|
Будем считать, что у Вас посемпловая обработка (так объяснять легче).
Берем один отсчет сигнала Fs=8000 Гц и добавляем к нему справа 440 нулей. Получается блок, состоящий из 441 отсчета. Берем еще один отсчет и опять добавляем в него 440 нулей, формируя тем самым, еще один блок. И так действуя, формируем в памяти 80 таких блоков (каждый длиной 441, и, таким образом, всего мы взяли 3528 отсчетов). Будем говорить, что у нас в памяти есть Большой Блок длиной 3528 отсчетов. С ним и будем работать далее. Будем считать, что этот Большой Блок у нас это сигнал такой, который поступил на частоте квантования 8000*44100 Гц. Далее фильтруем этот сигнал БИХ-фильтром (на КИХ ресурсов может не хватить, хотя, как знать...). Да так фильтруем, чтобы отсечь все частоты выше 4000 Гц (Обычный ФНЧ, 3-4 каскадный биквад). После фильтрации имеем отфильтрованный Большой Блок длиной все те же 3528 отсчетов. Далее берем и выбираем из этого Большого Блока каждый 80-й отсчет. (Можно было бы профильтровать, но и так сойдет). Собрав их вместе, Вы получите блок длиной 441. Таким образом, у Вас получился сигнал на частоте 44100 Гц.
При должной смекалке найдете способ уменьшить требуемые размеры памяти. Это просто!
E-mail: info@telesys.ru