《DSP using MATLAB》示例Example5.10

代码:

n = 0:10; x = 10*(0.8) .^ n;
[xec, xoc] = circevod(x);
%% -----------------------------------------------------------------
%%                  START   a
%% -----------------------------------------------------------------
figure(‘NumberTitle‘, ‘off‘, ‘Name‘, ‘Exameple5.10a x sequence‘)
set(gcf,‘Color‘,‘white‘);
subplot(3,1,1); stem(n,x); title(‘Original sequence x(n)‘); %axis([0,10,-2.5,2.5]);
xlabel(‘n‘); ylabel(‘x(n)‘); grid on;
subplot(3,1,2); stem(n,xec); title(‘Circular-even component‘); axis([-0.5,10.5,-1,11]);
xlabel(‘n‘); ylabel(‘xec(n)‘); grid on;
subplot(3,1,3); stem(n,xoc); title(‘Circular-odd component‘); axis([-0.5,10.5,-4,4]);
xlabel(‘n‘); ylabel(‘xoc(n)‘); grid on;

%% -----------------------------------------------------------------
%%                  END   a
%% -----------------------------------------------------------------

%% -----------------------------------------------------------------
%%              START   b
%% -----------------------------------------------------------------
X_DFT = dft(x,11);                                       % DFT of x
Xec_DFT = dft(xec,11); Xoc_DFT = dft(xoc,11);            % DFT of xec and xoc

realX_DFT = real(X_DFT); imagX_DFT = imag(X_DFT); magX_DFT = abs(X_DFT(1:1:6)); phaX_DFT = angle(X_DFT(1:1:6))*180/pi;
realXec_DFT = real(Xec_DFT); imagXec_DFT = imag(Xec_DFT); magXec_DFT = abs(Xec_DFT(1:1:6)); phaXec_DFT = angle(Xec_DFT)*180/pi;
realXoc_DFT = real(Xoc_DFT); imagXoc_DFT = imag(Xoc_DFT); magXoc_DFT = abs(Xoc_DFT(1:1:6)); phaXoc_DFT = angle(Xoc_DFT)*180/pi;

figure(‘NumberTitle‘, ‘off‘, ‘Name‘, ‘Exameple5.10b ‘)
set(gcf,‘Color‘,‘white‘);
subplot(2,2,1); stem(n,realX_DFT); title(‘Real {DFT[x(n)]}‘); axis([-0.5,10.5,-5,50]);
xlabel(‘k‘); grid on;
subplot(2,2,2); stem(n,imagX_DFT); title(‘Imag {DFT[x(n)]}‘); axis([-0.5,10.5,-20,20]);
xlabel(‘k‘); grid on;
subplot(2,2,3); stem(n,realXec_DFT); title(‘Real {DFT[xec(n)]}‘); axis([-0.5,10.5,-5,50]);
xlabel(‘k‘); grid on;
subplot(2,2,4); stem(n,imagXoc_DFT); title(‘Imag {DFT[xoc(n)]}‘); axis([-0.5,10.5,-20,20]);
xlabel(‘k‘); grid on;

figure(‘NumberTitle‘, ‘off‘, ‘Name‘, ‘Exameple5.10b X DFT info‘)
set(gcf,‘Color‘,‘white‘);
subplot(2,2,1); stem(n,realX_DFT); title(‘Real {DFT[x(n)]}‘); axis([-0.5,10.5,-5,50]);
xlabel(‘k‘); grid on;
subplot(2,2,2); stem(n,imagX_DFT); title(‘Imag {DFT[x(n)]}‘); axis([-0.5,10.5,-20,20]);
xlabel(‘k‘); grid on;

k = 0:1:5; w = 2*pi/10*k;
subplot(2,2,3); stem(w/pi,magX_DFT); title(‘Magnitude DTFT‘); %axis([-0.5,10.5,-5,50]);
xlabel(‘frequency in \pi units‘); grid on;
subplot(2,2,4); stem(w/pi,phaX_DFT); title(‘Angle {DFT[x(n)]}‘); %axis([-0.5,10.5,-20,20]);
xlabel(‘frequency in \pi units‘); grid on;

%% -----------------------------------------------------------------
%%                    END   b
%% -----------------------------------------------------------------

  运行结果:

由上图看出,性质(5.34)成立:

时间: 2024-11-07 00:54:47

《DSP using MATLAB》示例Example5.10的相关文章

DSP using MATlAB 示例Example2.10

上代码 % noise sequence 1 x = [3, 11, 7, 0, -1, 4, 2]; nx = [-3:3]; % given signal x(n) [y,ny] = sigshift(x,nx,2); % obtain x(n-2) set(gcf,'Color','white') subplot(2,1,1);stem(nx,x); title('sequence x(n)'); xlabel('n');ylabel('x(n)'); grid on subplot(2,

DSP using MATLAB 示例Example3.21

代码: % Discrete-time Signal x1(n) % Ts = 0.0002; n = -25:1:25; nTs = n*Ts; Fs = 1/Ts; x = exp(-1000*abs(nTs)); Ts = 0.001; n = -5:1:5; nTs = n*Ts; Fs = 1/Ts; x = exp(-1000*abs(nTs)); % Analog Signal Dt = 0.00005; t = -0.005:Dt:0.005; xa = x * sinc(Fs*

DSP using MATLAB示例Example3.18

代码: % Analog Signal Dt = 0.00005; t = -0.005:Dt:0.005; xa = exp(-1000*abs(t)); % Continuous-time Fourier Transform Wmax = 2*pi*2000; K = 500; k = 0:1:K; % index array k for frequencies W = k*Wmax/K; % freqency between 0 and +pi, [0,pi] axis divided i

DSP using MATLAB 示例 Example3.19

代码: % Analog Signal Dt = 0.00005; t = -0.005:Dt:0.005; xa = exp(-1000*abs(t)); % Discrete-time Signal Ts = 0.0002; n = -25:1:25; x = exp(-1000*abs(n*Ts)); % Discrete-time Fourier Transform %Wmax = 2*pi*2000; K = 500; k = 0:1:K; w = pi*k/K; % index ar

DSP using MATLAB 示例Example2.12

代码: b = [1]; a = [1, -0.9]; n = [-5:50]; h = impz(b,a,n); set(gcf,'Color','white'); %subplot(2,1,1); stem(n,h); title('Impulse Response'); xlabel('n'); ylabel('h(n)'); grid on; x = stepseq(0, -5, 50) - stepseq(10, -5, 50) y = filter(b, a, x); figure;

DSP using MATLAB 示例Example2.4

n = [0:10]; x = stepseq(0,0,10) - stepseq(10,0,10); [xe,xo,m] = evenodd(x,n); set(gcf,'Color',[1,1,1]) % 改变坐标外围背景颜色 stem(n,x); title('Rectangular Pulse'); xlabel('n'); ylabel('x(n)') ; axis([-10,10,0,1.2]) grid on figure set(gcf,'Color',[1,1,1]) stem

DSP using MATLAB 示例Example2.3

n = [-10:1:10]; alpha = -0.1+0.3j; % x = exp(alpha*n); % subplot(2,1,1); set(gcf,'Color',[1,1,1]) % 改变坐标外围背景颜色 stem(n,real(x)); title('real part'); xlabel('n'); grid on figure set(gcf,'Color','white') % 新生成一张图 stem(n,imag(x)); title('imaginary part')

DSP using MATLAB 示例Example3.7

上代码: x1 = rand(1,11); x2 = rand(1,11); n = 0:10; alpha = 2; beta = 3; k = 0:500; w = (pi/500)*k; % [0,pi] axis divided into 501 points. X1 = x1 * (exp(-j*pi/500)) .^ (n'*k); % DTFT of x1 X2 = x2 * (exp(-j*pi/500)) .^ (n'*k); % DTFT of x2 x = alpha *

DSP using Matlab 示例Example2.2

a. n = -2:10; x = [1:7,6:-1:1]; % generate x(n) [x11,n11] = sigshift(x,n,5); [x12,n12] = sigshift(x,n,-4); [x1,n1] = sigadd(2 * x11, n11, -3 * x12, n12); set(gcf,'Color',[1,1,1]) % 改变坐标外围背景颜色 stem(n,x); title('Sequence x(n)') xlabel('n');ylabel('x(n)