作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对此主题有类似的问题:Writing musical notes to a wav file 。但是,我是 stackoverflow.com 的初学者,我没有足够的声誉来添加命令,并且我不确定是否允许在 Q 下发布 Q。
请让我解释一下我的目的和问题。
我想使用 I2S 将 16 位 48kHz 采样率正弦波从 stm32f4 微 Controller 发送到 DAC。我用 C 数学库和 sin() 函数生成一个波。生成后,我正在用耳机测试声音。然而,它似乎与频率无关,但实际上确实如此。当频率发生变化时。参数改变但音色没有区别。可能我需要一个 FIR 低通滤波器,但我不确定。我实际上还尝试使用 FIR 低通滤波器(来自 Andreas Finkelmeyer 的网站,mind-dump.net)。但是,它并没有改变我的正弦波生成器代码中任何有意义的内容。
最后,我主要尝试遵循 Eric 在我的代码中的明智建议(在该主题中),但我正在做一些错误的事情。请帮忙!我将不胜感激任何回应。
这是我生成正弦波的代码。
if (SPI_I2S_GetFlagStatus(SPI3, SPI_I2S_FLAG_TXE))
{
for (countSin = 0;countSin < 65536;countSin ++){
SPI_I2S_SendData(SPI3, sample);
if (sampleCounter & 0x00000001) //this line for matching L&R channels
{
sample = (uint16_t) (32768+(2500*sin((2*3.14/48000)*countSin*8800)+2000*sin((2*3.14/48000)*countSin*11)));
}
sampleCounter++;
非常感谢!
最佳答案
“音色”不应改变。正弦波是单一的纯音;改变频率会改变音调的音调,但仅改变音调。如果您听到其他声音,要么您没有生成正弦波,要么您的声音链中的某个地方存在问题,导致信号失真。
关于c - 嵌入式系统上与频率相关的正弦波发生器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22301692/
我是一名优秀的程序员,十分优秀!