combine_n.m

来自「用dsp解压mp3程序的算法」· M 代码 · 共 29 行

M
29
字号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% combine_N.m - Combining two N-point real FFT into 
%               one N-point Complex FFT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear all;

x1 = [1 2 3 4 4 3 2 1];
x2 = [-2 -4  -6 -8 8 6 4 2]; 

% Conventional 2 N-point FFT approach

X1 = fft(x1,8);
X2 = fft(x2,8);

% N-point FFT approach

x = x1+i*x2;
X = fft(x,8);
X_conj = [conj(X(1)) conj(X(8-(0:6)))];

X1_N = (X+X_conj)*0.5; 
X2_N = (X-X_conj)*(-i*0.5);

figure;
subplot(221); stem(abs(X1)); title('FFT[x1(n)]');
subplot(222); stem(abs(X2)); title('FFT[x2(n)]');
subplot(223); stem(abs(X1_N)); title('X1 = 0.5(X+conj(X))');
subplot(224); stem(abs(X2_N)); title('X2 = -0.5j(X-conj(X))');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?