Разложение звукового сигнала
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [18.97.9.169] |
|
|
правила раздела Алгоритмы

Разложение звукового сигнала
|
Сообщ.
#1
,
|
|
|
|
По имеющемуся сигналу в PCM формате надо определить, какие частоты в него входят и определить их амплитуды. Как это может быть реализовано?
|
|
Сообщ.
#2
,
|
|
|
|
;D ;D ;Dето тебе надо разложить сигнал в ряд фурье ;D ;D ;D ;D.
касаемо фурье см тут: http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=algorithm;action=display;num=1016036282 ;D ;D http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=algorithm;action=display;num=1037119227 ;D ;D |
|
Сообщ.
#3
,
|
|
|
|
Так у меня-то не функция, а большое количество значений! Как ты его в ряд разложишь?
|
|
Сообщ.
#4
,
|
|
|
|
вот именно для ЭТОГО и применяют ряд фурье!!!!! только оно дискретное;D
|
|
Сообщ.
#5
,
|
|
|
|
А вот такой еще вопрос: А как сделать эквалайзер? При наличии waveform'ы ?
|
|
Сообщ.
#6
,
|
|
|
|
да ежу понятно как: умножаешь все фурье коэффициенты на те числа, которые у тебя в эквалайзере соответствуют данной частоте.
|
|
Сообщ.
#7
,
|
|
|
|
Угу. А попроще реализовать конденсатор нельзя?..
|
|
Сообщ.
#8
,
|
|
|
|
КАКОЙ КОНДЕНСАТОР?!?!?!?!?!??!?!?!?!?!?!
|
|
Сообщ.
#9
,
|
|
|
|
Берем выход... Ээээ... Ну, чего-нибудь "играющего", например, усилка.
Берем, например, вход чего-нибудь. Делаем простейший ФНЧ или ФВЧ - конденсатор+резистор, только по-разному подключены. Типа кроссовер. Дык это программно нельзя как-нить нормально реализовать? |
|
Сообщ.
#10
,
|
|
|
|
тогда ты не сможешь задавать какие угодно коэффициенты для какой угодно частоты. вобще я сейчас забыл дифуры для rc-цепочки, помню только для гармонического осциллятора с трением - LCR цепочки, помоему она тут даже больше подходит:
d2y/dt2+g*dy/dt+w^2=k*(x-y), где х - входная функция, а у - выходная. соответственно выходная функция будет давать максимум на частоте w и будет распределена по лоренцу с какими-то параметрами. полное решение есть в ландафшице в 1 томе. дакстати. вспомнил rc цепочку. dy/dt=(x-y)/(r*c). соответственно надо посчитать распределение амплитуды по частоте, к тому же я не уверен, что там будет максимум. |
|
Сообщ.
#11
,
|
|
|
|
Цитата Kosha, 12.04.03, 20:09:36 Угу. А попроще реализовать конденсатор нельзя?.. последнее время в электронике вместо "конденсаторов" применяют DSP (диджитал сигнал процессор). DSP — это процессоры, специально заточенные для вычислений всяких Фурье и Чебышевых, и реализации, естественно, цифровых фильтров. В отличии от "конденсаторов" цифровые фильтры не уплывают от температуры, позволяют реализовать любую крутизну и затухание, не зависят от Маньки мантажници которая путает номиналы, не требуют ручной подстройки (перепайки), независят от разброса номиналов компонентов... При этом, цена одного современного стабильного керамического конденсатора отличается от цены среднего DSP всего лишь на порядок |
|
Сообщ.
#12
,
|
|
|
|
Угу. Только я чего-то не видел, чтобы в дорогой автомобильной акустике вместо кроссоверов первого порядка ставили на все полосы DSP. Хотя я - поставлю. На своем микроконтроллере. Поэтому и хочется без гемора и лишних затрат времени/ресурсов/денег реализовать всю эту хренотень программно.
Есть вообще-то пара идеек относительно производных. |
|
Сообщ.
#13
,
|
|
|
|
сообщаю результат моих изысканий в области конденсаторов. функция линейного отклика для напряжения на конденсаторе выглядит так:
Uвх=U0*cos(wt) Uc=U0*G(w)*cos(wt+ф), где G(w)=1/(x+1), где x=w^2*R^2*C^2, т е таковое напряжение тем меньше, чем больше частота, так что RC-цепочка может служить только нч-фильтром. |
|
Сообщ.
#14
,
|
|
|
|
Цитата RC-цепочка может служить только нч-фильтром. В одном случае врубаем последовательно, в другом - параллельно. |
|
Сообщ.
#15
,
|
|
|
|
Цитата Kosha, 15.04.03, 19:49:25 В одном случае врубаем последовательно, в другом - параллельно. в любом случае, даже если тебе удастся добиться распределения с максимумом, у него будет только один параметр - r^2*c^2, т е при определённом положении максимума у тебя будет определённая ширина линии, к тому же довольно большая. я бы тебе посоветовал линейную комбинацию гармонических осцилляторов - там и сама функция линейного отклика посимпатичнее, и ширину линии можно задавать какую хочется. |