Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.23;
Скачать: CL | DM;

Вниз

Звуковая...   Найти похожие ветки 

 
Sergo   (2002-04-15 10:47) [0]

Не подскажете, как при снятии сигнала со входа звукахи, брать только амплитудное (положительное) значение сигнала, не принимая на счет текущее изменение амплитуды?
У меня есть мысль, но я в ней не уверен, может чем нибудь поможете?


 
VictorT   (2002-04-15 11:41) [1]

Проинтегрируй сигнал.


 
Sergo   (2002-04-15 11:48) [2]

>VictorT ©
Мысль, спасибо!


 
VictorT   (2002-04-15 11:57) [3]

Честно говоря, не совсем понял вопрос, и ответил по принцыпу: какой вопрос - такой ответ :) Но я рад, что тебе это помогло.


 
Sergo   (2002-04-15 12:05) [4]

Смысл такой: я подаю на звукаху сигнал определенной амплитуды, к примеру 20db, и эта амплитуда будет изменяться очень редко. Если сразу выводить значение сигнала например в Label, то будет показываться изменение амплитуды от 20db до -20db (синусоида) и обратно, мне же нужно всегда выводить только самое максимальное положительное значение амплитуды.


 
VictorT   (2002-04-15 12:27) [5]


> У меня есть мысль, но я в ней не уверен, может чем нибудь
> поможете?

А какя мысль?


 
MBo   (2002-04-15 13:01) [6]

Abs


 
Sergo   (2002-04-15 13:50) [7]

>VictorT ©
Мысль такая: загонять в массив и брать максимальное (но я в этом пока не уверен)
>MBo
Abs просто из отрицательных сделает положительные, а выводится все равно будет изменение амплитуды во времени (например 20,15,10,5,0,5,10,15,20: т.е будет выводится значение уровня сигнала в момент выборки), а мне нужно только амплитудное значение например идет в данный момент сигнал с амплитудой 20db, а через час сменится на 19 вот только и изменение амплитуды мне и нужно выводить. Уф...объяснил как мог, езвиняйте ежели что.


 
MBo   (2002-04-15 13:53) [8]

не все понял. делаешь переменную MaxAmp, относительно нее считаешь, при превышении обновляешь ее


 
Sergo   (2002-04-15 13:59) [9]

>MBo ©
Ты имеешь в Waveform?
А если амплитуда наоборот уменьшится MaxAmp отследит это?


 
VictorT   (2002-04-15 13:59) [10]

Я предлагаю так: во-первых, как сказал MBo, приводишь значение сигнала к абсолютному значению, во-вторых, при каждой выборке значения сигнала запоминаешь предыдущее значение, в-третьих, сравниваешь предыдущее значение сигнала с текущим, и если оно больше, то выводишь его в Label. Если непонятно, то напишу в виде программы.


 
Sergo   (2002-04-15 14:02) [11]

>VictorT ©
В принципе понятно, но если не трудно напиши пожалуйста.


 
VictorT   (2002-04-15 14:11) [12]

int value;
int value1 = 0;
while(условие продолжения цикла) {
value = abs(GetSignal());
if (value1 > value)
Label1->Caption = FloatToStr(value1);
value1 = value;
}


З.Ы. Извиняюсь, что Си, но думаю ты поймёшь.


 
Sergo   (2002-04-15 14:53) [13]

Спасибо!!!



Страницы: 1 вся ветка

Текущий архив: 2002.05.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.006 c
4-73436
Rammst
2002-03-19 06:17
2002.05.23
Программа поверх всех окон


1-73132
Konsul
2002-05-13 15:38
2002.05.23
Вопрос о свойствах формы


7-73431
Sasha9
2002-02-23 14:28
2002.05.23
Как сделать чтобы приложение не закрылось и при этом не зависло, когда в win98 меняешь полбзователя(log off)


1-73111
baatar
2002-05-07 17:05
2002.05.23
Синтез речи


1-73252
MisterBin
2002-05-09 18:37
2002.05.23
А как создать процесс?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский