打印

PWM驱动喇叭功放的问题

[复制链接]
8046|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
试了一下用现成的WAV文件提取音频二进制数据后,输出PWM驱动喇叭,基本的声音是可以听见,但是音质很差,里面夹杂了长鸣干扰声音。本身WAV是很清晰的。

有 哪位大神有经验如何提高功放音质,是否和外围三极管放大电路或低通RC匹配有关?或者喇叭的功率及电阻有关?

相关帖子

沙发
tyw| | 2017-7-20 08:57 | 只看该作者


使用特权

评论回复
板凳
Lemonxu| | 2017-7-24 18:24 | 只看该作者
WAV文件是一种音频编码的格式,不能等同于D类功放的PWM,也就不能直接用来驱动喇叭。

使用特权

评论回复
地板
gx_huang| | 2017-7-24 18:29 | 只看该作者
看标题就好奇,PWM驱动,这么简单。
其实D类功放的开关速度远远高于音频的最高频率的,否则那来得及呀,肯定失真的。

使用特权

评论回复
5
shadowzbwww|  楼主 | 2017-7-26 16:54 | 只看该作者
gx_huang 发表于 2017-7-24 18:29
看标题就好奇,PWM驱动,这么简单。
其实D类功放的开关速度远远高于音频的最高频率的,否则那来得及呀,肯 ...

声音没有失真,能听到原声,就是噪音特别大,有建议提供吗?

使用特权

评论回复
6
maychang| | 2017-7-26 16:59 | 只看该作者
shadowzbwww 发表于 2017-7-26 16:54
声音没有失真,能听到原声,就是噪音特别大,有建议提供吗?

“有建议提供吗?”
老tyw对你说过不是一次了。

使用特权

评论回复
7
gx_huang| | 2017-7-27 09:03 | 只看该作者
shadowzbwww 发表于 2017-7-26 16:54
声音没有失真,能听到原声,就是噪音特别大,有建议提供吗?

没有建议,不知道你PWM输出的周期是多少,PWM是多少BIT的,PWM频率是多少,前后二次的PWM输出是否完整输出了,不要前面的还没有输出完,后面的又开始更新了。还有,提取的二进制数据是否有错误。理论上,后续放大后不加任何低通滤波,也可以放出声音的,喇叭本身就是一个低通器件,关键是PWM频率要足够高。现在的D类放大器,都可以不需要加额外的LC低通,可以直接接喇叭的。

使用特权

评论回复
8
shadowzbwww|  楼主 | 2017-7-27 15:17 | 只看该作者
gx_huang 发表于 2017-7-27 09:03
没有建议,不知道你PWM输出的周期是多少,PWM是多少BIT的,PWM频率是多少,前后二次的PWM输出是否完整输 ...

目前的设计:
PCM采样频率8K,8bit;PWM输出频率也是8K,8bit;直接用PCM数据作为PWM占空比设置,直接输出PWM波形。PWM计数器的频率达到18MHz。播放出来声音能听到,就是噪音很大,噪音形象描述是高频声音。

理论上,上述参数不存在什么问题。但是就是噪声很大,看了很多资料,有说提高PWM输出频率到20KHz以上,使用升采样法和插值法,分散噪声频谱可以实现减少噪声;或者理解为使用高频PWM作为基频载波,带载8KHz音频数据,但是试了下然并卵啊~~~

我这里有一款芯片,PWM直接推喇叭,音频数据6K,但是PWM输出频率高达60K。外部无任何LC和RC,音质可以接受。

所以怀疑问题出在了PWM输出频率及数据处理上。各位大大,是否能提供些经验之谈??

使用特权

评论回复
9
jjeemm77| | 2017-7-27 15:24 | 只看该作者
你听说过“调音台”么?…

使用特权

评论回复
10
shadowzbwww|  楼主 | 2017-7-27 15:40 | 只看该作者
jjeemm77 发表于 2017-7-27 15:24
你听说过“调音台”么?…

木有,求神论~~~

使用特权

评论回复
11
jjeemm77| | 2017-7-27 15:52 | 只看该作者
可调音频控制!…

使用特权

评论回复
12
shadowzbwww|  楼主 | 2017-7-27 15:52 | 只看该作者
maychang 发表于 2017-7-26 16:59
“有建议提供吗?”
老tyw对你说过不是一次了。

确实给了很大帮助,但是噪音怎么办,噪音源及原因和如何消噪还是不是很理解。。。。

使用特权

评论回复
13
jjeemm77| | 2017-7-27 15:58 | 只看该作者
多找些音响方面的资料看看!…嘿嘿…曾经是“发烧友”级吃瓜群众中的路人乙。
         帮不了你!…遗憾呀


                                                     

使用特权

评论回复
14
manbo789| | 2017-7-27 16:37 | 只看该作者
shadowzbwww 发表于 2017-7-27 15:17
目前的设计:
PCM采样频率8K,8bit;PWM输出频率也是8K,8bit;直接用PCM数据作为PWM占空比设置,直接输 ...

8bit量化,会存在较大的量化噪声,这种量化噪声基本上是白噪声,

如果你确定是高频噪声而不是白噪声,可能是其他原因引起,

比如:高采样率WAV不加任何处理,直接重采样为低采样率PCM,可能出现频谱混叠,

你可以用麦克风录制一段实际播放的音频,然后用音频编辑软件光谱图就可以查看噪声情况,

使用特权

评论回复
15
gx_huang| | 2017-7-27 17:21 | 只看该作者
shadowzbwww 发表于 2017-7-27 15:17
目前的设计:
PCM采样频率8K,8bit;PWM输出频率也是8K,8bit;直接用PCM数据作为PWM占空比设置,直接输 ...

如果PWM值是8KHz更新一次,而PWM时钟是18M,8bit的话,8KHz周期内,可以输出281个PWM周期了。这个速度上也没有问题了。你示波器看看波形,软件模拟输出一串固定的了语音,RC低通滤波后,是否是你要的波形。

使用特权

评论回复
16
gx_huang| | 2017-7-27 17:24 | 只看该作者
比如,想输出3KHz的正弦波,按照8KHz采样量化,自己整理出一串数据,软件模拟PWM输出后,看看波形。
我以前调试MCU模拟输出DTMF拨号,就是这么调试的,不能光耳朵听呀,还得示波器看波形呀。

使用特权

评论回复
17
manbo789| | 2017-7-27 17:39 | 只看该作者
不对,你是说你的PWM频率也是8kHz,那么肯定会听到有8kHz以及8kHz谐波的噪音,这种噪音可以通过硬件滤波降低,估计要4~6阶,

使用特权

评论回复
18
shadowzbwww|  楼主 | 2017-7-28 10:02 | 只看该作者
manbo789 发表于 2017-7-27 17:39
不对,你是说你的PWM频率也是8kHz,那么肯定会听到有8kHz以及8kHz谐波的噪音,这种噪音可以通过硬件滤波降 ...

别人的芯片外围无任何滤波电路,直接PWM端口接喇叭。

所以,我觉得还是PWM如何输出和频率的问题

使用特权

评论回复
19
shadowzbwww|  楼主 | 2017-7-28 10:04 | 只看该作者
manbo789 发表于 2017-7-27 16:37
8bit量化,会存在较大的量化噪声,这种量化噪声基本上是白噪声,

如果你确定是高频噪声而不是白噪声,可 ...

我的PCM数据是直接用WAV文件转换的,音质11K的,8bit。音质没什么问题。

使用特权

评论回复
20
shadowzbwww|  楼主 | 2017-7-28 10:06 | 只看该作者
gx_huang 发表于 2017-7-27 17:21
如果PWM值是8KHz更新一次,而PWM时钟是18M,8bit的话,8KHz周期内,可以输出281个PWM周期了。这个速度上 ...

“有说提高PWM输出频率到20KHz以上,使用升采样法和插值法,分散噪声频谱可以实现减少噪声;或者理解为使用高频PWM作为基频载波,带载8KHz音频数据“

上述的理论是否是正确的?这也是PWM输出频率要远大于PCM采样频率的原因吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

102

主题

150

帖子

1

粉丝