%测试程序 clear; %清屏 clc; Fs = 100; % Sampling frequency t = -1:1/Fs:1; % Time vector L = length(t); % Signal length xn=2/(4*sqrt(2*pi*0.01))*(exp(-t.^2/(2*0.001))); %要转换的序列
n = 2^nextpow2(L); M=nextpow2(L); %转换级数
subplot(2,2,1) plot(t,xn); title('Gaussian Pulse in Time Domain'); xlabel('Time (t)'); ylabel('xn(t)');
B=fft(xn,n); %matlab内置fft变换,用于对比
f = Fs*(0:(n/2))/n; P = abs(B/n);
subplot(2,2,2)
plot(f,P(1:n/2+1)) title('Gaussian Pulse in Frequency Domain') xlabel('Frequency (f)') ylabel('|P(f)|')
H=testfft(xn,M); %手工编写函数 f = Fs*(0:(n/2))/n; P = abs(H/n);
subplot(2,2,3) plot(f,P(1:n/2+1)) title('Gaussian Pulse in Frequency Domain') xlabel('Frequency (f)') ylabel('|P(f)|')
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
function H=testfft(xn,M)
%DIT-FFT快速傅里叶变换程序 %程序名称:ditfft %程序作者:grace_fight 2018/10/29
b=length(xn); %调整补零 if(b<2^M) xn=[xn,zeros(1,(2^M)-b)]; end b=length(xn); %补零后xn长度 A=zeros(1,b); %xn转换数组 N=2^M; %计算点数 nxd=bin2dec(fliplr(dec2bin([1:N]-1,M)))+1;%倒序排列序号 xn=xn(nxd); %倒序xn
for i=1:N %N个1点DFT,xn本身,赋值到数组A A(i)=xn(i); end
for L = 1:M %DIT-FFT变换,M级蝶形变换 B = 2^(L-1); %两个输入数据距离
for J = 0:B-1; %旋转因子处理 P=2^(M-L)*J;
for k=(J+1):2^L:N %本次蝶形运算跨越时间 W=exp(-j*2*pi*P/N); %对应旋转因子 T=A(k)+A(k+B)*W; %进行蝶形运算 A(k+B)=A(k)-A(k+B)*W; A(k)=T; end end end H=A; %输出H为A
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#include "stdio.h" #include <math.h>
#define PI 3.141592653589793
#define Signal_length 201 //实际数据取样个数 #define Container_length 256 //只能是2的n次方大小(至少大于等于数据长度)
typedef struct { double shi; double xv; }plural;
double data_sequence[Container_length]={0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0001,0.0004,0.0015,0.0047,0.0134,0.0348,0.0813,0.1721,0.3297,0.5715,0.8963,1.2719,1.6331,1.8974,1.9947,1.8974,1.6331,1.2719,0.8963,0.5715,0.3297,0.1721,0.0813,0.0348,0.0134,0.0047,0.0015,0.0004,0.0001,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000}; plural fft_results[Container_length]={0};//补零
//复数运算 plural complexExp(plural a) { plural result; result.shi = exp(a.shi) * cos(a.xv); result.xv = exp(a.shi) * sin(a.xv); return result; }
plural complexMultiply(plural a, plural b) { plural result; result.shi = a.shi * b.shi - a.xv * b.xv; result.xv = a.xv * b.shi + a.shi * b.xv; return result; }
plural complexAdd(plural a, plural b) { plural result; result.shi = a.shi + b.shi; result.xv = a.xv + b.xv; return result; }
plural complexSubtract(plural minuend, plural subtrahend) { plural result; result.shi = minuend.shi - subtrahend.shi; result.xv = minuend.xv - subtrahend.xv; return result; }
//转换级数 unsigned char my_nextpow2(int mydata) { unsigned char i=1; unsigned int tmp=0.0; for(i=1;;i++) { tmp=pow(2,i); if(tmp>mydata) return i; } }
//二进制倒置 unsigned int my_fliplr2bin(unsigned int mydata,unsigned char mybit) { unsigned int i=0,tmp2=0; unsigned char tmp1=0; for(i=0;i<mybit;i++) { tmp1=mydata&(0x01<<i); if(tmp1>0) tmp1=1; else tmp1=0; tmp2=tmp2|tmp1<<(mybit-i-1); tmp1=0; } return tmp2; }
//快速傅里叶变换 对照MATLIB的fft函数 //参数一原始数据,参数二结果 void my_fft(double *data_sequence,plural *fft_results) { int fft_xl[Container_length]={0}; unsigned int i=0; unsigned char L=0;//DIT-FFT变换,M级蝶形变换 unsigned int B=0;//两个输入数据距离 unsigned int J=0;//旋转因子处理 unsigned int P=0; unsigned int K=0;//本次蝶形运算跨越时间 plural W,T; plural tmp; //创建倒置表 for(i=0;i<Container_length;i++) fft_xl[i]=my_fliplr2bin(i,8); //倒置数据 for(i=0;i<Container_length;i++) fft_results[i].shi=data_sequence[fft_xl[i]];
for(L=1;L<(my_nextpow2(Signal_length)+1);L++)//DIT-FFT变换,M级蝶形变换 { B=pow(2,L-1);//两个输入数据距离 for(J=0;J<=(B-1);J++)//旋转因子处理 { P=pow(2,my_nextpow2(Signal_length)-L)*J; for(K=J+1;K<=Container_length;K+=pow(2,L))//本次蝶形运算跨越时间 { tmp.xv=0-(2*PI*P/Container_length); tmp.shi=0; W=complexExp(tmp);//对应旋转因子 tmp.shi=fft_results[K+B-1].shi;//进行蝶形运算 tmp.xv=fft_results[K+B-1].xv; tmp=complexMultiply(tmp,W); tmp=complexAdd(fft_results[K-1],tmp); T.shi=tmp.shi; T.xv=tmp.xv; tmp.shi=fft_results[K+B-1].shi; tmp.xv=fft_results[K+B-1].xv; tmp=complexMultiply(tmp,W); tmp=complexSubtract(fft_results[K-1],tmp); fft_results[K+B-1].shi=tmp.shi; fft_results[K+B-1].xv=tmp.xv; fft_results[K-1].shi=T.shi; fft_results[K-1].xv=T.xv; } } } for(i=0;i<256;i++) printf("r is %f %f\n",fft_results[i].shi,fft_results[i].xv); }
void main() { my_fft(data_sequence,fft_results); //结果转换为频谱需做以下操作 //已知Fs采样频率 //补零后的数据个数n //横坐标频率为FS*((0到n/2)/n) //图像为每个数据除n后把复数取绝对值,取前频率个数个值 }
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
对照数据matlib版本为
C语言版本对比
C语言结果:
r is 15.811100 0.000000 r is -12.185395 -10.000295 r is 3.047659 15.321618 r is 7.254006 -13.571291 r is -13.920394 5.766016 r is 14.032978 4.256857 r is -7.881641 -11.795709 r is -1.337138 13.576185 r is 9.220172 -9.220172 r is -12.328808 1.214282 r is 9.727707 6.499846 r is -3.187999 -10.509424 r is -3.921453 9.467224 r is 8.381730 -4.480128 r is -8.593256 -1.709305 r is 5.093378 6.206299 r is 0.000000 -7.312985 r is -4.200343 5.118132 r is 5.844075 -1.162459 r is -4.700803 -2.512631 r is 1.813706 4.378674 r is 1.215966 -4.008502 r is -3.059838 2.044518 r is 3.198123 0.314988 r is -1.972423 -1.972423 r is 0.235898 2.395113 r is 1.146704 -1.716163 r is -1.683714 0.510749 r is 1.377369 0.570525 r is -0.591904 -1.107375 r is -0.205073 1.030969 r is 0.676145 -0.554898 r is -0.723456 -0.000000 r is 0.459758 0.377313 r is -0.094817 -0.476676 r is -0.186087 0.348145 r is 0.294444 -0.121963 r is -0.244743 -0.074242 r is 0.113340 0.169626 r is 0.015855 -0.160974 r is -0.090142 0.090142 r is 0.099387 -0.009789 r is -0.064660 -0.043204 r is 0.017472 0.057598 r is 0.017720 -0.042779 r is -0.031224 0.016689 r is 0.026387 0.005249 r is -0.012890 -0.015706 r is 0.000000 0.015251 r is 0.007219 -0.008796 r is -0.008282 0.001647 r is 0.005501 0.002940 r is -0.001758 -0.004244 r is -0.000982 0.003236 r is 0.002077 -0.001388 r is -0.001851 -0.000182 r is 0.000994 0.000994 r is -0.000106 -0.001080 r is -0.000478 0.000715 r is 0.000670 -0.000203 r is -0.000540 -0.000224 r is 0.000234 0.000437 r is 0.000083 -0.000416 r is -0.000278 0.000228 r is 0.000300 0.000000 r is -0.000187 -0.000153 r is 0.000036 0.000181 r is 0.000061 -0.000113 r is -0.000069 0.000029 r is 0.000025 0.000008 r is 0.000010 0.000014 r is 0.000005 -0.000053 r is -0.000058 0.000058 r is 0.000101 -0.000010 r is -0.000093 -0.000062 r is 0.000033 0.000109 r is 0.000041 -0.000098 r is -0.000080 0.000043 r is 0.000067 0.000013 r is -0.000025 -0.000030 r is -0.000000 0.000005 r is -0.000022 0.000026 r is 0.000073 -0.000015 r is -0.000102 -0.000055 r is 0.000059 0.000143 r is 0.000055 -0.000182 r is -0.000181 0.000121 r is 0.000237 0.000023 r is -0.000175 -0.000175 r is 0.000024 0.000243 r is 0.000127 -0.000190 r is -0.000192 0.000058 r is 0.000149 0.000062 r is -0.000053 -0.000100 r is -0.000011 0.000057 r is 0.000000 -0.000000 r is 0.000056 0.000000 r is -0.000083 -0.000068 r is 0.000029 0.000146 r is 0.000084 -0.000158 r is -0.000180 0.000074 r is 0.000186 0.000056 r is -0.000099 -0.000149 r is -0.000015 0.000149 r is 0.000077 -0.000077 r is -0.000060 0.000006 r is 0.000007 0.000005 r is 0.000013 0.000041 r is 0.000034 -0.000083 r is -0.000112 0.000060 r is 0.000151 0.000030 r is -0.000106 -0.000130 r is 0.000000 0.000168 r is 0.000099 -0.000121 r is -0.000131 0.000026 r is 0.000091 0.000049 r is -0.000026 -0.000063 r is -0.000009 0.000029 r is -0.000004 0.000003 r is 0.000037 0.000004 r is -0.000045 -0.000045 r is 0.000008 0.000082 r is 0.000053 -0.000079 r is -0.000098 0.000030 r is 0.000097 0.000040 r is -0.000049 -0.000092 r is -0.000020 0.000100 r is 0.000078 -0.000064 r is -0.000100 0.000000 r is 0.000078 0.000064 r is -0.000020 -0.000100 r is -0.000049 0.000092 r is 0.000097 -0.000040 r is -0.000098 -0.000030 r is 0.000053 0.000079 r is 0.000008 -0.000082 r is -0.000045 0.000045 r is 0.000037 -0.000004 r is -0.000004 -0.000003 r is -0.000009 -0.000029 r is -0.000026 0.000063 r is 0.000091 -0.000049 r is -0.000131 -0.000026 r is 0.000099 0.000121 r is 0.000000 -0.000168 r is -0.000106 0.000130 r is 0.000151 -0.000030 r is -0.000112 -0.000060 r is 0.000034 0.000083 r is 0.000013 -0.000041 r is 0.000007 -0.000005 r is -0.000060 -0.000006 r is 0.000077 0.000077 r is -0.000015 -0.000149 r is -0.000099 0.000149 r is 0.000186 -0.000056 r is -0.000180 -0.000074 r is 0.000084 0.000158 r is 0.000029 -0.000146 r is -0.000083 0.000068 r is 0.000056 0.000000 r is 0.000000 0.000000 r is -0.000011 -0.000057 r is -0.000053 0.000100 r is 0.000149 -0.000062 r is -0.000192 -0.000058 r is 0.000127 0.000190 r is 0.000024 -0.000243 r is -0.000175 0.000175 r is 0.000237 -0.000023 r is -0.000181 -0.000121 r is 0.000055 0.000182 r is 0.000059 -0.000143 r is -0.000102 0.000055 r is 0.000073 0.000015 r is -0.000022 -0.000026 r is -0.000000 -0.000005 r is -0.000025 0.000030 r is 0.000067 -0.000013 r is -0.000080 -0.000043 r is 0.000041 0.000098 r is 0.000033 -0.000109 r is -0.000093 0.000062 r is 0.000101 0.000010 r is -0.000058 -0.000058 r is 0.000005 0.000053 r is 0.000010 -0.000014 r is 0.000025 -0.000008 r is -0.000069 -0.000029 r is 0.000061 0.000113 r is 0.000036 -0.000181 r is -0.000187 0.000153 r is 0.000300 0.000000 r is -0.000278 -0.000228 r is 0.000083 0.000416 r is 0.000234 -0.000437 r is -0.000540 0.000224 r is 0.000670 0.000203 r is -0.000478 -0.000715 r is -0.000106 0.001080 r is 0.000994 -0.000994 r is -0.001851 0.000182 r is 0.002077 0.001388 r is -0.000982 -0.003236 r is -0.001758 0.004244 r is 0.005501 -0.002940 r is -0.008282 -0.001647 r is 0.007219 0.008796 r is 0.000000 -0.015251 r is -0.012890 0.015706 r is 0.026387 -0.005249 r is -0.031224 -0.016689 r is 0.017720 0.042779 r is 0.017472 -0.057598 r is -0.064660 0.043204 r is 0.099387 0.009789 r is -0.090142 -0.090142 r is 0.015855 0.160974 r is 0.113340 -0.169626 r is -0.244743 0.074242 r is 0.294444 0.121963 r is -0.186087 -0.348145 r is -0.094817 0.476676 r is 0.459758 -0.377313 r is -0.723456 -0.000000 r is 0.676145 0.554898 r is -0.205073 -1.030969 r is -0.591904 1.107375 r is 1.377369 -0.570525 r is -1.683714 -0.510749 r is 1.146704 1.716163 r is 0.235898 -2.395113 r is -1.972423 1.972423 r is 3.198123 -0.314988 r is -3.059838 -2.044518 r is 1.215966 4.008502 r is 1.813706 -4.378674 r is -4.700803 2.512631 r is 5.844075 1.162459 r is -4.200343 -5.118132 r is -0.000000 7.312985 r is 5.093378 -6.206299 r is -8.593256 1.709305 r is 8.381730 4.480128 r is -3.921453 -9.467224 r is -3.187999 10.509424 r is 9.727707 -6.499846 r is -12.328808 -1.214282 r is 9.220172 9.220172 r is -1.337138 -13.576185 r is -7.881641 11.795709 r is 14.032978 -4.256857 r is -13.920394 -5.766016 r is 7.254006 13.571291 r is 3.047659 -15.321618 r is -12.185395 10.000295
matlib结果:
1 至 6 列 15.8114 + 0.0000i -12.1856 -10.0005i 3.0477 +15.3219i 7.2541 -13.5715i -13.9205 + 5.7661i 14.0331 + 4.2569i 7 至 12 列 -7.8817 -11.7957i -1.3371 +13.5762i 9.2201 - 9.2201i -12.3288 + 1.2143i 9.7277 + 6.4998i -3.1880 -10.5094i 13 至 18 列 -3.9214 + 9.4672i 8.3817 - 4.4801i -8.5933 - 1.7093i 5.0934 + 6.2064i 0.0000 - 7.3131i -4.2004 + 5.1182i 19 至 24 列 5.8442 - 1.1625i -4.7009 - 2.5127i 1.8138 + 4.3788i 1.2160 - 4.0086i -3.0599 + 2.0446i 3.1982 + 0.3150i 25 至 30 列 -1.9724 - 1.9724i 0.2359 + 2.3951i 1.1467 - 1.7161i -1.6837 + 0.5107i 1.3774 + 0.5705i -0.5919 - 1.1074i 31 至 36 列 -0.2051 + 1.0310i 0.6762 - 0.5550i -0.7236 - 0.0000i 0.4599 + 0.3774i -0.0949 - 0.4769i -0.1862 + 0.3483i 37 至 42 列 0.2947 - 0.1221i -0.2450 - 0.0743i 0.1135 + 0.1698i 0.0159 - 0.1612i -0.0903 + 0.0903i 0.0995 - 0.0098i 43 至 48 列 -0.0648 - 0.0433i 0.0175 + 0.0577i 0.0178 - 0.0429i -0.0313 + 0.0167i 0.0265 + 0.0053i -0.0129 - 0.0158i 49 至 54 列 0.0000 + 0.0153i 0.0073 - 0.0088i -0.0083 + 0.0017i 0.0055 + 0.0030i -0.0018 - 0.0042i -0.0010 + 0.0032i 55 至 60 列 0.0020 - 0.0013i -0.0017 - 0.0002i 0.0009 + 0.0009i -0.0001 - 0.0009i -0.0003 + 0.0005i 0.0004 - 0.0001i 61 至 66 列 -0.0003 - 0.0001i 0.0001 + 0.0002i 0.0000 - 0.0001i -0.0001 + 0.0001i 0.0001 + 0.0000i -0.0000 - 0.0000i 67 至 72 列 0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 + 0.0000i 73 至 78 列 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i 79 至 84 列 -0.0000 - 0.0000i 0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 - 0.0000i 85 至 90 列 0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i 91 至 96 列 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i 97 至 102 列 -0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 - 0.0000i 103 至 108 列 0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i 109 至 114 列 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i 115 至 120 列 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i 121 至 126 列 -0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i 127 至 132 列 -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 + 0.0000i 133 至 138 列 0.0000 - 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i 139 至 144 列 -0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i 145 至 150 列 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i 151 至 156 列 -0.0000 + 0.0000i 0.0000 + 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i 157 至 162 列 0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i 163 至 168 列 -0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i 169 至 174 列 -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i 175 至 180 列 0.0000 + 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i 181 至 186 列 -0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i -0.0000 - 0.0000i 187 至 192 列 -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i 193 至 198 列 0.0001 + 0.0000i -0.0001 - 0.0001i 0.0000 + 0.0001i 0.0001 - 0.0002i -0.0003 + 0.0001i 0.0004 + 0.0001i 199 至 204 列 -0.0003 - 0.0005i -0.0001 + 0.0009i 0.0009 - 0.0009i -0.0017 + 0.0002i 0.0020 + 0.0013i -0.0010 - 0.0032i 205 至 210 列 -0.0018 + 0.0042i 0.0055 - 0.0030i -0.0083 - 0.0017i 0.0073 + 0.0088i 0.0000 - 0.0153i -0.0129 + 0.0158i 211 至 216 列 0.0265 - 0.0053i -0.0313 - 0.0167i 0.0178 + 0.0429i 0.0175 - 0.0577i -0.0648 + 0.0433i 0.0995 + 0.0098i 217 至 222 列 -0.0903 - 0.0903i 0.0159 + 0.1612i 0.1135 - 0.1698i -0.2450 + 0.0743i 0.2947 + 0.1221i -0.1862 - 0.3483i 223 至 228 列 -0.0949 + 0.4769i 0.4599 - 0.3774i -0.7236 - 0.0000i 0.6762 + 0.5550i -0.2051 - 1.0310i -0.5919 + 1.1074i 229 至 234 列 1.3774 - 0.5705i -1.6837 - 0.5107i 1.1467 + 1.7161i 0.2359 - 2.3951i -1.9724 + 1.9724i 3.1982 - 0.3150i 235 至 240 列 -3.0599 - 2.0446i 1.2160 + 4.0086i 1.8138 - 4.3788i -4.7009 + 2.5127i 5.8442 + 1.1625i -4.2004 - 5.1182i 241 至 246 列 -0.0000 + 7.3131i 5.0934 - 6.2064i -8.5933 + 1.7093i 8.3817 + 4.4801i -3.9214 - 9.4672i -3.1880 +10.5094i 247 至 252 列 9.7277 - 6.4998i -12.3288 - 1.2143i 9.2201 + 9.2201i -1.3371 -13.5762i -7.8817 +11.7957i 14.0331 - 4.2569i 253 至 256 列 -13.9205 - 5.7661i 7.2541 +13.5715i 3.0477 -15.3219i -12.1856 +10.000i
结果 一致,略有不同是因为数学运算C环境没有matl高的原因