专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
请问arm_cfft_radix4_f32()做FFT后数据对但在数组位置不对是怎么回事啊?
2019-07-14 17:21
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
14886
9
1037
我用
STM32
F3 的DSP库
ARM
_cfft_radix4_f32()做FFT后数据对,但是在数组位置不对是怎么回事啊???
求指点啊,谢谢啦
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
击鼓巍山
1楼-- · 2019-07-14 19:12
回复第 2 楼 于2013-11-01 14:11:02发表:
请问一下数据是有错误还是高低字节不对?
是数据在数组的顺序不对
加载中...
击鼓巍山
2楼-- · 2019-07-14 21:08
精彩回答 2 元偷偷看……
加载中...
击鼓巍山
3楼-- · 2019-07-15 00:26
回复第 2 楼 于2013-11-01 14:11:02发表:
请问一下数据是有错误还是高低字节不对?
加载中...
TOPCB
4楼-- · 2019-07-15 02:47
是否可以看一下你的相关代码?
加载中...
击鼓巍山
5楼-- · 2019-07-15 05:06
<div style="padding:5px;border:1px dashed #ccc;">回复第 6 楼 于2013-11-01 15:30:29发表:
是否可以看一下你的相关代码?
//#define fftSize 64 //FFT²ÉÑùµãÊý£¬Èç¹ûÓÃDSP¿â½øÐÐFFTÔò´ÎÊýΪ16¡¢64¡¢256¡¢1024
#define TEST_LENGTH_SAMPLES 128
#define NUM_TAPS 32 //Â˲¨Æ÷µÄÂ˲¨ÏµÊýµÄÄ¿Êý£¬Â˲¨Æ÷³¤¶È
#define BLOCK_SIZE 32//Â˲¨Æ÷ ͬһʱ¼ä´¦ÀíµÄÑù±¾Êý
float32_t testfftInput[TEST_LENGTH_SAMPLES];
static float32_t testfftOutput[TEST_LENGTH_SAMPLES/2];/
uint32_t fftSize = 64;
uint8_t ifftFlag = 0;
uint8_t doBitReverse = 1;
float32_t spidata[64];
int w[MAXSIZE];
int m[3];
float32_t testOutput[NumberMAX];
float32_t firStateF32[BLOCK_SIZE+NUM_TAPS-1];
float32_t SpiBuffer[NumberMAX];
float Value[NumberMAX];
u8 SamplingEnd;
u8 SamplingCount;
int next_data_handle(int addr)
{
return (addr) == MAXSIZE ? 0addr) ;
}
int main(void)
{
u8 i=0;
u32 j;
u8 k;
arm_fir_instance_f32 S;
arm_cfft_radix4_instance_f32 S1;
float32_t maxValue;
arm_status status;
float32_t *inputF32,*outputF32;
float32_t threshold;//Ææ´Îг²¨°Ù·Ö±È
int flag = 0;
int warn = 0;//±¨¾¯±êÖ¾
//int middle = 0;
int addr1 = 0;
float32_t sum1 = 0;
float32_t sum2 = 0;
float32_t sum3 = 0;
SystemInit();//ϵͳʱÖÓ³õʼ»¯Îª72M
GPIO_Configuration();//¶Ë¿Ú³õʼ»¯
NVIC_Configuration();//ÉèÖÃNVICÖжϷÖ×é2:2λÇÀÕ¼ÓÅÏȼ¶£¬2λÏìÓ¦ÓÅÏȼ¶
SPI_Configuration();
Init_SPI();
USART_Configuration(9600);
TIM_Configuration();
delay_init(72); //ÑÓʱº¯Êý³õʼ»¯
EXTIX_Init();
status = ARM_MATH_SUCCESS;
status = arm_cfft_radix4_init_f32(&S1,fftSize,ifftFlag,doBitReverse);
while(1)
{
if(SamplingEnd==true)//²É¼¯Íê64¸öµã
{
for(i=0;i
加载中...
击鼓巍山
6楼-- · 2019-07-15 05:55
回复第 6 楼 于2013-11-01 15:30:29发表:
是否可以看一下你的相关代码?
还有就是我把arm_common_tables.h 里的
extern const uint16_t armBitRevTable[1024];和extern const float32_t twiddleCoef[6144];
改成extern uint16_t armBitRevTable[1024]和extern const float32_t twiddleCoef[4096*2];了,
在arm_cfft_radix4_init_f32.c里加了句uint16_t armBitRevTable[1024];否则编译错误
对了我用的是STM32F3的固件库
加载中...
1
2
下一页
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
STM32开发板免费用活动
7 个回答
stm32 处理 DHT11占用太多时间,大家程序是怎么设计的
8 个回答
分享一个STM32单片机做的离线编程器代码
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
请问一下数据是有错误还是高低字节不对?
是数据在数组的顺序不对
请问一下数据是有错误还是高低字节不对?
是否可以看一下你的相关代码?
//#define fftSize 64 //FFT²ÉÑùµãÊý£¬Èç¹ûÓÃDSP¿â½øÐÐFFTÔò´ÎÊýΪ16¡¢64¡¢256¡¢1024
#define TEST_LENGTH_SAMPLES 128
#define NUM_TAPS 32 //Â˲¨Æ÷µÄÂ˲¨ÏµÊýµÄÄ¿Êý£¬Â˲¨Æ÷³¤¶È
#define BLOCK_SIZE 32//Â˲¨Æ÷ ͬһʱ¼ä´¦ÀíµÄÑù±¾Êý
float32_t testfftInput[TEST_LENGTH_SAMPLES];
static float32_t testfftOutput[TEST_LENGTH_SAMPLES/2];/
uint32_t fftSize = 64;
uint8_t ifftFlag = 0;
uint8_t doBitReverse = 1;
float32_t spidata[64];
int w[MAXSIZE];
int m[3];
float32_t testOutput[NumberMAX];
float32_t firStateF32[BLOCK_SIZE+NUM_TAPS-1];
float32_t SpiBuffer[NumberMAX];
float Value[NumberMAX];
u8 SamplingEnd;
u8 SamplingCount;
int next_data_handle(int addr)
{
return (addr) == MAXSIZE ? 0addr) ;
}
int main(void)
{
u8 i=0;
u32 j;
u8 k;
arm_fir_instance_f32 S;
arm_cfft_radix4_instance_f32 S1;
float32_t maxValue;
arm_status status;
float32_t *inputF32,*outputF32;
float32_t threshold;//Ææ´Îг²¨°Ù·Ö±È
int flag = 0;
int warn = 0;//±¨¾¯±êÖ¾
//int middle = 0;
int addr1 = 0;
float32_t sum1 = 0;
float32_t sum2 = 0;
float32_t sum3 = 0;
SystemInit();//ϵͳʱÖÓ³õʼ»¯Îª72M
GPIO_Configuration();//¶Ë¿Ú³õʼ»¯
NVIC_Configuration();//ÉèÖÃNVICÖжϷÖ×é2:2λÇÀÕ¼ÓÅÏȼ¶£¬2λÏìÓ¦ÓÅÏȼ¶
SPI_Configuration();
Init_SPI();
USART_Configuration(9600);
TIM_Configuration();
delay_init(72); //ÑÓʱº¯Êý³õʼ»¯
EXTIX_Init();
status = ARM_MATH_SUCCESS;
status = arm_cfft_radix4_init_f32(&S1,fftSize,ifftFlag,doBitReverse);
while(1)
{
if(SamplingEnd==true)//²É¼¯Íê64¸öµã
{
for(i=0;i
是否可以看一下你的相关代码?
还有就是我把arm_common_tables.h 里的
extern const uint16_t armBitRevTable[1024];和extern const float32_t twiddleCoef[6144];
改成extern uint16_t armBitRevTable[1024]和extern const float32_t twiddleCoef[4096*2];了,
在arm_cfft_radix4_init_f32.c里加了句uint16_t armBitRevTable[1024];否则编译错误
对了我用的是STM32F3的固件库
一周热门 更多>