微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 关于aic3106采入数据的问题

关于aic3106采入数据的问题

时间:10-02 整理:3721RD 点击:

我用的板子是OMAP-L137,音频模块是aic3106。在此有问题想问。

在aic3106的例程介绍里,在进行了相关的设置后,采样频率定为了48KHz,通过mic口采集数据。关键代码如下:

for ( sec = 0 ; sec < 5 ; sec++ )
    {
        for ( msec = 0 ; msec < 1000 ; msec++ )
        {
            for ( sample = 0 ; sample < 48 ; sample++ )
            {
                /* Read then write the left sample */
                while ( ! ( MCASP1_SRCTL0 & 0x20 ) );
                    sample_data = MCASP1_RBUF0_32BIT;
                while ( ! ( MCASP1_SRCTL5 & 0x10 ) );
                    MCASP1_XBUF5_32BIT =  sample_data;

                /* Read then write the right sample */
                while ( ! ( MCASP1_SRCTL0 & 0x20 ) );
                    sample_data = MCASP1_RBUF0_32BIT;
                while ( ! ( MCASP1_SRCTL5 & 0x10 ) );
                    MCASP1_XBUF5_32BIT = sample_data;
            }
        }
    }

看了这段代码,我的理解是,采入的数据是32位的“0、1”数据流,如果接下来,我想进行加窗、滤波等处理,是否应把sample_data中存放的数转化为浮点数。另外,如果以往,用matlab进行处理,我读入一个音频文件,matlab会提取出反映音频文件幅度特性的数组,那aic3106采入的数据在经过一定转化后,会和matlab中提取的数组一致吗?跪求回复了~

不会帮顶

你好:

         你的理解没错,I2S数据流就是0,1的码流,但是Sample data只是一个数据,你需要至少几千个Sample data数据做FFT和加窗。只要你的计算单元够强大,可以做的和Matlab一样。

您好,感谢您的回复。有件事我要接着问哈。我在matlab里读入一段正弦纯音的音频文件,呈现的数据是0到1之间的浮点数。我用aic3106采入的数据,是否需要转化到0-1之间再进行FFT和加窗等处理?事实上,我在没有用aic3106进行实际采样之前,是把matlab读出的数据直接拿来用做原始数据,再用dsp芯片做的加窗、滤波等操作,每步结果都和matlab的处理结果做比较。现在想再加入aic3106的功能进行采样。不知道我的叙述您是不是明白了?能明白我想问的是什么了吗?

你好:

          不需要转换成0,1直接拿数据来做。0和1只是传输用的。

咦,我想问的是是否需要转化成0-1之间的小数,比如0.68,0.97这样的。

 

你好:

         整数小数都可以,那个只是影响了你的输出信号大小。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top