'
bg7jun大侠你好!如你所说,斩波频率会对音频影响啊?
真正做出的哑音你用来上台试过了吗?我很想试试,不过我还没有这方面的编程技巧。
是否有什么源程序能指点吗?
'
没有源程序,还在做,比较简单,复杂的只是算法的问题,写代码很简单。算法就是用的前面我说过的方法,把波形按高度分成8段,找出对应水平位置改变占空比,算出50种亚音的对应的分频周期,就可以生成亚音了。
斩波频率要和最高的信号频率离得足够远,至少要10倍,30倍以上比较理想。对于亚音来说,最高频率是250hz,斩波周期就要到2.5k以上,最好是10k以上,为了防止干扰落到话音频率内产生干扰,可能还要提高频率,但频率高了要求单片机工作频率也高,就容易产生emi问题了。
我在做的这个东西还有几个信号铃音也是用pwm产生的,而且幅度也比较高,要做到7位量化,所以更加复杂一点。
补充:忘了个事,斩波周期不能光按一个频率来算,因为各亚音频率之间没有倍数关系,所以要用一个比较高的频率来实现。我在做的这个东西,以前打算用3m的时钟,一个亚音分成80段,通过对这个80段的周期进行计数来改变亚音频率,pwm周期与亚音频率无关,可以自由调节。后来又改成1.79m,每个亚音分成48段。因为cpu型号改了。