作业帮 > 综合 > 作业

matlab 如何进行复数的 fft运算

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/03/29 20:52:36
matlab 如何进行复数的 fft运算
我是想读取外部txt中的128个16进制数据(实部和虚部分别有128个)让后对128个点进行fft计算
默认,刚刚开始,在没有给i定义情况下,
i代表虚数的.
比如 5-i4
matlab里输入,5+(-i*4)或者5-i*4
matlab里FFT函数可以直接运用,如,b=fft(a);
如果,想看代码,打开fft.m文件看看.
再问: 我是想读取外部txt中的128个16进制数据(实部和虚部分别有128个)让后对128个点进行fft计算
再答: clear; clc; a=textread('a.txt','%s')'; alpha=hex2dec(a)'; [wenjian_ming,lujing_ming] = uigetfile('c:\a.txt','xxxx'); fid=fopen(strcat(lujing_ming,wenjian_ming),'r'); data=[]; while ~feof(fid) m=fscanf(fid,'%3x',[1 inf]); data=[data;m]; end alpha=data; dlmwrite('c:\b.txt',alpha,'delimiter', ' ') fid=fopen('c:\d.txt','w'); fprintf(fid,'%d ',alpha'); alpha2=alpha(1:2:length(alpha)-mod(length(alpha)+1,2)); dlmwrite('c:\c.txt',alpha2,'delimiter', ' ') plot(1:length(alpha2),alpha2) 以上,读取进行16禁止转换10禁止。 你在需要的地方加个FFT或在这个结果上在读取进行FFT计算。
再问: 你好 非常感谢 还有个疑问 我外部的数据文件虚部和实部分开的 有两个txt文件,需要读取后合成一个复数进行fft运算 我的qq304191130 希望请教你一下
再答: 简单啊,两个都读取后转换10进制,这时就是两个序列了,虚数部分*i就可以了,然后两个合成一个序列(这里可以按照你的想法,来组合),举个简单例子,实属部分假设是A矩阵,虚数部分是B矩阵,合成一个矩阵C,那么可以写成C=[A,B];这样就可以简单的组合在一起了。 如果是一提一个组合,那样也简单。 假设A=[1 2 3]; B=[4 5 6];B=i*B(根据需要); C(1,1:2:6)=A; C(1,2:2:6)=B; 这样就C就满足要求了。 然后对C进行FFT变换。 DT_FFT=fft(C); 然后对 DT_FFT储存成TXT格式就可以了。