打印
[STM32F1]

一直实现不了AD转换声音信号,DA还原声音

[复制链接]
1306|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gongche|  楼主 | 2017-4-28 22:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一直实现不了AD转换声音信号,DA还原声音
沙发
huwr| | 2017-4-28 22:18 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
gongche|  楼主 | 2017-4-28 22:19 | 只看该作者
最近一直在弄用AD转换声音信号,然后用DA还原播放声音,可是一直都实现不了,希望有人指导一下,谢谢!以下是主要的代码(我是采用DMA方式传输的)
AD主要代码(在AD的实验上加了DMA配置和定时器2中断实现AD开始转换):
#define ADC1_DR_Address    0x4001244C
u16 ADC_Value;
//DMA配置

//定时器2配置



DAC1主要代码(利用DMA传输、定时器6定时触发DAC)
#define DAC_DHR12R1_Address      0x40007408
uint16_t DAC_Value;



主函数主要部分
extern u16 ADC_Value;
extern uint16_t DAC_Value;

int main(void)
{
             NVIC_Configuration();                 uart_init(9600);                 //´

        TIM2_Configuration(1663,0x0);//44.1KHz,0x0表示不分频
        TIM2_NVIC_Configuration();
        DMA_Config();
        Adc_Init(ADC_Channel_2);                                  //初始化ADC1通道2         

    DMA_Config(ADC1_DR_Address,(u32)&ADC_Value,1);
   
   while(1)
   {
       DAC_Value = ADC_Value;
   }
}

使用特权

评论回复
地板
huanghuac| | 2017-4-28 22:20 | 只看该作者
你是用44.1kHZ的采样声音的话,要想DA还原的话必须使用内插函数SINX/X 才能完整地重建声音

使用特权

评论回复
5
wenfen| | 2017-4-28 22:21 | 只看该作者
你可以先不使用声音,你采样的正弦波,看你这种方法能不能还原正弦波

使用特权

评论回复
6
gongche|  楼主 | 2017-4-28 22:24 | 只看该作者
什么是内插函数?

使用特权

评论回复
7
tian111| | 2017-4-28 22:25 | 只看该作者
就是你采用44.1Khz的采样,你在周期22us 之间要插入固定的值才能还原原信号,利用你采样得到的值,通过内插函数得出插入的的值DA值

使用特权

评论回复
8
songqian17| | 2017-4-28 22:27 | 只看该作者

这个内插函数 很有名 叫sinc 函数

使用特权

评论回复
9
gongche|  楼主 | 2017-4-28 22:28 | 只看该作者
呵呵,没用过,也不会用

使用特权

评论回复
10
chenho| | 2017-4-28 22:29 | 只看该作者
电路没有问题吧?

使用特权

评论回复
11
gongche|  楼主 | 2017-4-28 22:30 | 只看该作者
我试过把声音采集的电路和播放的电路直接连起来,对着咪头说话,喇叭有声音,应该没问题

使用特权

评论回复
12
huwr| | 2017-4-28 22:33 | 只看该作者
怎么觉得这还不如用DSP

使用特权

评论回复
13
huanghuac| | 2017-4-28 22:34 | 只看该作者
方波哪来的?

使用特权

评论回复
14
gongche|  楼主 | 2017-4-28 22:35 | 只看该作者
原来我在while函数中加了延时,产生的,后来去掉延时,DA可以还原声音了,只不过喇叭伴随“沙沙沙...”的声音,很奇怪,请教怎么会有“沙沙沙....” 的声响

使用特权

评论回复
15
happy_10| | 2017-4-28 22:39 | 只看该作者
你的数据不连续,有断的地方?

使用特权

评论回复
16
gongche|  楼主 | 2017-4-28 22:40 | 只看该作者
没有断的地方,就是喇叭发出的声音伴随着“沙沙沙...”的响

使用特权

评论回复
17
bqyj| | 2017-4-28 22:41 | 只看该作者
DAC完全关闭有没有“沙沙”响?

使用特权

评论回复
18
gongche|  楼主 | 2017-4-28 22:42 | 只看该作者
没有:)

使用特权

评论回复
19
wenfen| | 2017-4-28 22:44 | 只看该作者
那还是你的数据供给有问题,某些点的数据被延迟了

使用特权

评论回复
20
zhuhuis| | 2017-4-28 22:47 | 只看该作者
你好,你以前弄的声音采集还原系统调试好了没,
我调了一个多星期了,很好的声音信号采集输出后带有很多杂音,能不能指点一下

使用特权

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

本版积分规则

768

主题

9410

帖子

2

粉丝