麦克风特定信号激活中断

时间:2013-12-12 22:05:21

标签: c++ audio microphone avr

抬头,我对音频很新,所以请耐心等待我=)

我正在尝试将音频信号解释为AVR(它是一个经典的myAVR MK2板)。现在通常,中断信号总是某种开关。所以,如果我按下这个swich,进入那个中断。

我的目标是通过麦克风将音频信号解释到电路板中,让电路板对电路做出反应。我的第一个问题是,当发送麦克风信号时,我是否必须通过A / D转换器,因为从技术上讲它是一个anolag信号?

我的第二个也是更复杂的问题是,我如何解释进来的音频信号?

例如,如果我尖叫“绿色”那么应该停止程序正在做什么,应该调用中断并且绿色LED应该亮起。现在,麦克风总是很重要...如何控制,以便只有在说出绿色时才会发送中断信号。我不希望他因为有人发出声音而不断地进出中间......

我是否必须将“GREEN”保存为某处的位组合并将输入信号与保存的位进行比较......或者??

1 个答案:

答案 0 :(得分:1)

一些答案​​:

...do i have to put it through the A/D Converter, since technically it is an anolag signal ?  

是的,当暴露于模拟信号时,数字芯片可能会发生油炸 请注意,在信号准确之前启动ADC后可能会有一段时间延迟。

how would i actually interpret the audio signal coming in?  

基本上你有一个频率的数字值。您需要存储这些值,然后进行分析。您必须交换内存容量/使用量以确保准确性。您采取的样本越多,您的数据和结果就越好;但这会占用更多的记忆。

您还需要滤除信号和分层声音中的噪音。

您可以通过研究FFT获得一些好处。

你应该使用“模糊逻辑”进行比较,因为在现实世界中,没有什么是准确的;例如,您的语音信号可能是+/- 30计数,仍然是“正确的”。