栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在C#中创建正弦波或方波

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在C#中创建正弦波或方波

您可以使用NAudio并创建派生的WaveStream,该输出输出正弦波或方波,您可以将其输出到声卡或写入WAV文件。如果使用32位浮点样本,则可以直接从sin函数中写入值,而不必进行缩放,因为它已经在-1和1之间。

至于准确性,您是指正确的频率还是正确的波形?没有真正的方波,甚至正弦波在其他频率下也可能会有一些非常安静的伪像。如果重要的是频率的准确性,则取决于声卡中时钟的稳定性和准确性。话虽这么说,我可以想象对于大多数用途而言,准确度已经足够了。

以下是一些示例代码,该示例代码以8 kHz采样率和16位采样(即非浮点数)进行1 kHz采样:

int sampleRate = 8000;short[] buffer = new short[8000];double amplitude = 0.25 * short.MaxValue;double frequency = 1000;for (int n = 0; n < buffer.Length; n++){    buffer[n] = (short)(amplitude * Math.Sin((2 * Math.PI * n * frequency) / sampleRate));}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/483983.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号