TI中文支持网
TI专业的中文技术问题搜集分享网站

在使用FFT中,如何将MSP-EXP430F5438_User_Expertience的buffer[512]中的数据转换到Q15的input[256]里

大家好:

    我们购买了M430F5438A几套开发板,希望进行FFT的开发!采用的正弦信号(频率:1545HZ; 相位:0; 幅值:100mv),信号输入端口MIC(M1)。

    板载麦克风和运算放大器信号链,FFT演示提供音频信号。信号连接到P6.5,A5 ADC输入。

    现MSP-EXP430F5438_User_Expertience已经出FFT的展示效果!我们希望进行15位的FFT开发(MSP-EXP430F5438_User_Expertience仅仅8位)

   现已完成两套代码的基本合并(MSP-EXP430F5438_User_Expertience和transform_ex1_fft_fixed_q15

    现希望将MSP-EXP430F5438_User_Expertience采集的实时数据buffer[512],作为Q15的输入数据input[256]!

    该分几步做?有建议吗?

user5274273:

请参考数据:

user5274273:

回复 user5274273:

 请参考希望的目标数据

Susan Yang:

我会在测试后给您回复,请您等待一下,谢谢

Susan Yang:

回复 user5274273:

请您尝试下面的步骤

1. download MSPWARE from http://www.ti.com/tool/MSPWARE which includes DSPLIB or DSPLIB directly from http://www.ti.com/tool/MSP-DSPLIB. This includes transform_ex1_fft_fixed_q15. The documentation and example usage can be found at http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP430Ware/3_70_00_05/exports/MSP430Ware_3_70_00_05/dsplib/html/transform_ex1_fft_fixed_q15_8c-example.html

The documentation on the transform itself can be found at http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP430Ware/3_70_00_05/exports/MSP430Ware_3_70_00_05/dsplib/html/group__dsplib__transform__real.html#ga91d6f504a72975cfab31c4dd9fa0c242

2. In the MSP-EXP430F5438_User_Experience project, in fft.c, you need to replace the call to 

FFT_prog(); // Perform FFT and store

with

#define SAMPLES 512// this can be at the beginning of the file in fft.c or in fft.h
/* Initialize the fft parameter structure. */
fftParams.length = SAMPLES;
fftParams.bitReverse = true;
fftParams.twiddleTable = msp_cmplx_twiddle_table_256_q15;
status = msp_fft_fixed_q15(&fftParams, voice_data);

Please note that the result will also be in voice_data. If you need the output in FFT_data[], please copy before or after the call to msp_fft_fixed_q15().

user5274273:

回复 Susan Yang:

谢谢!尽快尝试

Susan Yang:

回复 user5274273:

好的,期待您的反馈

user5274273:

回复 Susan Yang:

大家好,

    我描述一下硬件·软件开发环境,以便于大家的帮助。

    1). 硬件连接: M430F5438A开发板,焊掉 MIC(M1),“信号发生器”直连到它的两个端口;输入正弦信号(频率:1500HZ; 相位:0; 幅值:100mv),

    2). 端口设置如下:

            AUDIO_PORT_OUT |= MIC_POWER_PIN;            AUDIO_PORT_OUT &= ~MIC_INPUT_PIN;            AUDIO_PORT_SEL |= MIC_INPUT_PIN;

            UCSCTL8 |= MODOSCREQEN;            ADC12CTL0 &= ~ADC12ENC; // Disable conversions to configure ADC12            ADC12CTL0 = ADC12ON + ADC12SHT02; // Configure ADC12 to sample a sequence of channels, once            ADC12CTL1 = ADC12SHP + ADC12CONSEQ_2 + ADC12SSEL_2 + ADC12SHS_3;            ADC12CTL2 = ADC12RES_2; //ADC12分辨率控制位 12位           

            ADC12MCTL0 = MIC_INPUT_CHAN | ADC12EOS;            ADC12CTL0 |= ADC12ENC; // Enable            ADC12IE = BIT0;

    3)   得到的数据如下图所示

    问题:仅有一个信号输入源,我们希望用Q15的FFT变换,请问如何将“buffer[512]中的数据转换到Q15的input[256]里”? 以便transform_ex1_fft_fixed_q15.c的initSignal()使用……

user5274273:

回复 user5274273:

请参考

Susan Yang:

回复 user5274273:

您是否有按照之前给出的步骤进行测试?您可以跟踪回复下面帖子的内容,会有国外的工程师为您解答

e2e.ti.com/…/3338049

user5274273:

回复 Susan Yang:

Susan,

多谢分享!

我已尝试上面的步骤,

但我们希望采用外接的正弦信号(由“信号发生器”产生)!

这里面涉及2组新的驱动程序:

1) MSP430 ADC12模块的设备驱动程序(现希望分辨率控制位 为12位),它取得的数据放在buffer[512]中,

2)将buffer[512]里的数据转换到Q15的input[256]里, 以便transform_ex1_fft_fixed_q15.c的initSignal()使用

您的英语好些,能帮忙吗?

赞(0)
未经允许不得转载:TI中文支持网 » 在使用FFT中,如何将MSP-EXP430F5438_User_Expertience的buffer[512]中的数据转换到Q15的input[256]里
分享到: 更多 (0)