单音信号,既单一频率的信号,在测试IFFT/FFT正确性时,我们常常用到单音信号,一般需要的单音信号时是复数形式; fm = 2e6 ; %信号频率 通过欧拉公式可知,利用 exp(j*w*t)即可生成单音信号,频率和采样率需要根据测试需求自定义; 如果是工程中进行测试,需要将Matlab生成的数据进行保存,此时需要进行定点化; Matlab中复数为double型,每个数据占据64bit,我们需要将其转化为16bit,其中可以选择多少位有效; 在进行定点化前,我们需要先对数据进行归一化,既除以信号幅度最大的值, datainput = fft(data,4096)./2906; ; 此时完成了归一化,然后进行定点量化, vector_in_real = (2^12-1)*real(datareshape); 我选择的是13位有效,且是有符号位,所以乘以(2^12-1);之后通过round函数进行截取即可; vector_real = round(vector_in_real); 在工程中,通常不使用.bin 文件,如果使用.mat文件,使用C/C++打开时需要matlab库函数,此时最好的选择是保存为txt文件,然后以数组的形式读取数据; fid_lpf = fopen('single_data.txt','w'); 下面讲述如何在C语言中打开txt文件, int16_t test[32760]= { #include "single_data.txt" } 通过这种方式即可打开将文件中的数据以数组的方式存储在test中; |