wnlt.net
当前位置:首页 >> mAtlAB iFFt x 的含义 >>

mAtlAB iFFt x 的含义

Y=ifft(SLM,[],1)和Y=ifft(SLM,128)才是一样的.第一种用法:ifft(SLM,[],dim)中的dim表示维度,1表示列,2表示行.第二个参数为[]表示点数与原矩阵每列元素数.如果是 ifft(SLM,N,1) 则表示列ifft的点数为N.第二种用法ifft(SLM,128)对于矩阵,仅对列进行ifft

fftshift的反变换 fftshift把频谱图居中方便观察

<p>如图:</p> <p></p>

首先弄清楚:乘与点乘的区别(实际上就是矩阵乘除法,还是矩阵对应元素的乘除法(点乘)),如a=[1,2,3;4,5,6];a*a%这个是错的.因为矩阵乘法要求第一个矩阵的列数等于第二个矩阵的行数.但是a.*a是可以的.就是对应元素相乘.vectorize的含义就是将乘转成点乘等.clear str='x*y'; f=inline(str) ff=inline(vectorize(str)) x=[1,2,3;4,5,6]; y=[7,8,9;10,11,12]; ff(x,y) %没有问题 f(x,y) %出错

matlab自带函数ifft没有把子载波的个数算在里面频域x(k)与时域x(n)的相互关系是:x(k)=n从1到n累加[x(n)*w^((n-1)*(k-1))];x(n)=1/n*k从1到n累加[x(k)*w^(-(n-1)*(k-1))];式中w=exp(-2*pi/n);故要乘n

function testFs = 256; % 采样频率T = 1/Fs; % 采样时间t = (0:Fs-1)*T; % 时间序列(时间轴)S=2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180);f= Fs*linspace(0,1,Fs);Y=2*abs(fft(S,Fs)/Fs); %得到正确的峰值plot(f,Y)

结果其实是一样的,只是倒转了结果的排列顺序.c代表互相关,如果option选coeff, c就是互相关系数.c = xcorr(x,y,maxlags,'option')是保留x的相位,平移y.而c = xcorr(y,x,maxlags,'option')是保留y的相位,平移x.因为对x平移-k个单位等同与对y平移k个单位,所以这两个c其实表达了同样的结果.只是结果的顺序倒置了.如果你想验证这个,可以将用fliplr(c)将第二个c的顺序倒转回来,结果和第一个c应该是一样的.由此可知,如果maxlags=0,这两个c也会是一样的.

Matlab中FFT有1D和2D的,FFT得到的是信号的频谱即t-》f 如 clear%编写骆遥 fs=1000 t=0:1/fs:0.6; f1=100; f2=300; x=sin(2*pi*f1*t)+sin(2*pi*f2*t); subplot(711) plot(x); title('f1(100Hz)\f2(300Hz)的正弦信号,初相0') xlabel('序列(n)') grid on

语法是symsx 就是设定一个变量,不然matlab不懂x是什么

matlab中plot(x(1,:))表示将二维矩阵x的第一行元素画成散点图.其中:x(1,:)指x矩阵的第一行所有列,:表示所有的.plot()是matlab中的描点做图函数,一般需要指定横坐标和纵坐标.这里只有一组坐标,则将其作为纵坐标,横坐标默认为1,2,3,4举个例子:>> x = rand(100); % x为一个100*100的随机矩阵>> plot(x(1,:))

xmjp.net | wkbx.net | zxsg.net | jamiekid.net | rxcr.net | 网站首页 | 网站地图
All rights reserved Powered by www.wnlt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com