代码:

n = [0:1:99]; x = cos(0.48*pi*n) + cos(0.52*pi*n);
n1 = [0:1:9]; y1 = x(1:1:10); % N = 10 figure('NumberTitle', 'off', 'Name', 'Exameple5.8 x sequence')
set(gcf,'Color','white');
subplot(3,1,1); stem(n1,y1); title('signal x(n), 0<= n <=9, N = 10'); axis([0,10,-2.5,2.5]);
xlabel('n'); ylabel('x(n)'); grid on; Y1_DFT = dft(y1,10); % DFT of y1 magY1_DFT = abs(Y1_DFT(1:1:6));
%magY1_DFT = abs(Y1_DFT);
%phaY1_DFT = angle(Y1_DFT)*180/pi % degrees
phaY1_DFT = angle(Y1_DFT(1:1:6))*180/pi % degrees
%realX_DFT = real(X_DFT); imagX_DFT = imag(X_DFT);
%angX_DFT = angle(X_DFT); % radias k1 = 0:1:5; w1 = 2*pi/10*k1; % [0,2pi] axis divided into 501 points.
%k = 0:500; w = (pi/500)*k; % [0,pi] axis divided into 501 points.
%X_DTFT = x * (exp(-j*pi/500)) .^ (n'*k); % DTFT of x(n) %magX_DTFT = abs(X_DTFT); angX_DTFT = angle(X_DTFT); realX_DTFT = real(X_DTFT); imagX_DTFT = imag(X_DTFT);
subplot(3,1,2); stem(w1/pi,magY1_DFT); title('Samples of DTFT Magnitude, Not Enough'); %axis([0,N,-0.5,1.5]);
xlabel('frequency in \pi units');
%ylabel('x(n)');
grid on;
subplot(3,1,3); stem(w1/pi,phaY1_DFT); title('Samples of DTFT Phase, Not Enough'); %axis([0,N,-0.5,1.5]);
xlabel('frequency in \pi units');
%ylabel('x(n)');
grid on; %% ------------------------------------------------------
%% zero-padding coperation, Append 90 zeros
%% To obtain a dense spectrum
%% ------------------------------------------------------
n2 = [0:1:99]; y2 = [x(1:1:10) zeros(1,90)]; % zero-padding, N = 100 figure('NumberTitle', 'off', 'Name', 'Exameple5.8 x sequence')
set(gcf,'Color','white');
subplot(2,1,1); stem(n2,y2); title('signal x(n), 0<= n <=9 + 90 zeros, N = 100'); axis([0,100,-2.5,2.5]);
xlabel('n'); ylabel('x(n)'); grid on; Y2_DFT = dft(y2,100); % DFT of y2 magY2_DFT = abs(Y2_DFT(1:1:51));
phaY2_DFT = angle(Y2_DFT)*180/pi % degrees k2 = 0:1:50; w2 = (2*pi/100)*k2; % [0,2pi] axis divided into 501 points.
subplot(2,1,2); stem(w2/pi,magY2_DFT); hold on; plot(w2/pi,magY2_DFT,'--r');
title('DTFT Magnitude'); axis([0,1,0,10.5]); hold off;
xlabel('frequency in \pi units');
%ylabel('x(n)');
grid on; %% -----------------------------------------------------------
%% Exameple5.8b take first 100 samples of x(n)
%% determine the DTFT
%% -----------------------------------------------------------
figure('NumberTitle', 'off', 'Name', 'Exameple5.8b ')
set(gcf,'Color','white');
subplot(2,1,1); stem(n,x); axis([0,100,-2.5,2.5]);
title('signal x(n), 0 <= n <= 99, N = 100'); xlabel('n'); grid on; X = dft(x,100); magX = abs(X(1:1:51));
k = 0:1:50; w = 2*pi/100*k;
subplot(2,1,2); plot(w/pi, magX); title('DTFT Magnitude');
xlabel('frequency in \pi units'); axis([0,1,0,60]); grid on;
%% -----------------------------------------------------------
%% END Exameple5.8b
%% -----------------------------------------------------------

  结果:

《DSP using MATLAB》示例Example5.8的更多相关文章

  1. 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*a ...

  2. DSP using MATLAB 示例 Example3.19

    代码: % Analog Signal Dt = 0.00005; t = -0.005:Dt:0.005; xa = exp(-1000*abs(t)); % Discrete-time Signa ...

  3. DSP using MATLAB示例Example3.18

    代码: % Analog Signal Dt = 0.00005; t = -0.005:Dt:0.005; xa = exp(-1000*abs(t)); % Continuous-time Fou ...

  4. DSP using MATLAB 示例Example3.23

    代码: % Discrete-time Signal x1(n) : Ts = 0.0002 Ts = 0.0002; n = -25:1:25; nTs = n*Ts; x1 = exp(-1000 ...

  5. DSP using MATLAB 示例Example3.22

    代码: % Discrete-time Signal x2(n) Ts = 0.001; n = -5:1:5; nTs = n*Ts; Fs = 1/Ts; x = exp(-1000*abs(nT ...

  6. DSP using MATLAB 示例Example3.17

  7. DSP using MATLAB示例Example3.16

    代码: b = [0.0181, 0.0543, 0.0543, 0.0181]; % filter coefficient array b a = [1.0000, -1.7600, 1.1829, ...

  8. DSP using MATLAB 示例 Example3.15

    上代码: subplot(1,1,1); b = 1; a = [1, -0.8]; n = [0:100]; x = cos(0.05*pi*n); y = filter(b,a,x); figur ...

  9. DSP using MATLAB 示例 Example3.13

    上代码: w = [0:1:500]*pi/500; % freqency between 0 and +pi, [0,pi] axis divided into 501 points. H = ex ...

  10. DSP using MATLAB 示例 Example3.12

    用到的性质 代码: n = -5:10; x = sin(pi*n/2); k = -100:100; w = (pi/100)*k; % freqency between -pi and +pi , ...

随机推荐

  1. Spring 4支持的Java 8新特性一览

    有众多新特性和函数库的Java 8发布之后,Spring 4.x已经支持其中的大部分.有些Java 8的新特性对Spring无影响,可以直接使用,但另有些新特性需要Spring的支持.本文将带您浏览S ...

  2. Protobuf for Python测试保存和读取文件

    安装pip, setuptools, and wheel 如果已经从python.org,安装啦Python 2 >=2.7.9 or Python 3 >=3.4 ,那么就已经有啦pip ...

  3. <<< Java提取网页源码

    package com.sevennight; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io ...

  4. AE开发中栅格图层实现分级渲染

    GP工具IDW执行后,生成的栅格图层是黑白二色,需要手动进行分级渲染,似乎不是所有栅格图层都可以进行分级渲染,注意异常处理.注意ARCMAP中是有颜色的,无需自己处理. IRasterClassify ...

  5. Fedora 24 Gnome Boxes 无法ping通网络

    安装Fedora 24在试用虚拟机时发现无法ping通外网. 我傻傻地以为是软件问题. 问题描述: 尝试ping程序来测试网络连通性: (我之前也是ping百度,后来在为了少打字百度了一些比较短的域名 ...

  6. .net core 跨平台实践

    本人采用Ubuntu 14.04 来实现.net core 的跨平台实践. 首先安装Ubuntu14.04系统.安装细节问百度. 1..net core console程序的跨平台 首先新建一个con ...

  7. 100多个基础常用JS函数和语法集合大全

    网站特效离不开脚本,javascript是最常用的脚本语言,我们归纳一下常用的基础函数和语法: 1.输出语句:document.write(""); 2.JS中的注释为//3.传统 ...

  8. bzoj1045 糖果传递

    escription 老师准备了一堆糖果, 恰好n个小朋友可以分到数目一样多的糖果. 老师要n个小朋友去拿糖果, 然后围着圆桌坐好, 第1个小朋友的左边是第n个小朋友, 其他第i个小朋友左边是第i-1 ...

  9. HDU 1003 maxsum

    #include<iostream> #include<vector> using namespace std; typedef struct { int maxsum; in ...

  10. HTML兼容问题——HACK技术

    有话先说:本文的目的主要是向大家描述一下我们在遇见IE8版本一下以及Firefox兼容的问题. 针对不同的浏览器写不同的CSS的过程,这就叫CSS hack,也叫写CSS hack,相信您会对一些比较 ...