《DSP using MATLAB》示例 Example 9.4
代码:
- %% ------------------------------------------------------------------------
- %% Output Info about this m-file
- fprintf('\n***********************************************************\n');
- fprintf(' <DSP using MATLAB> Exameple 9.4 \n\n');
- time_stamp = datestr(now, 31);
- [wkd1, wkd2] = weekday(today, 'long');
- fprintf(' Now is %20s, and it is %7s \n\n', time_stamp, wkd2);
- %% ------------------------------------------------------------------------
- n = 0:256; k1 = 64; k2 = k1+32; m = 0:(k2-k1);
- %% -----------------------------------------------------------------
- %% Plot
- %% -----------------------------------------------------------------
- Hf1 = figure('units', 'inches', 'position', [1, 1, 8, 6], ...
- 'paperunits', 'inches', 'paperposition', [0, 0, 6, 4], ...
- 'NumberTitle', 'off', 'Name', 'Exameple 9.4');
- set(gcf,'Color','white');
- TF = 10;
- % (a) Original signal
- x = cos(pi*n); subplot(2, 2, 1);
- Ha = stem(m, x(m+k1+1), 'g', 'filled'); axis([-1, 33, -1.1, 1.1]); grid on;
- set(Ha, 'markersize', 2); xlabel('n'); ylabel('Amplitude');
- title('Original Sequence x(n)', 'fontsize', TF);
- set(gca, 'xtick', [0, 16, 32]);
- set(gca, 'ytick', [-1, 0, 1]);
- % (b) Interpolation by D = 2
- I = 2; y = interp(x, I); subplot(2, 2, 2);
- Hb = stem(m, y(m+k1*I+1), 'c', 'filled'); axis([-1, 33, -1.1, 1.1]); grid on;
- set(Hb, 'markersize', 2); xlabel('n'); ylabel('Amplitude');
- title('Interpolated by I = 2', 'fontsize', TF);
- set(gca, 'xtick', [0, 16, 32]);
- set(gca, 'ytick', [-1, 0, 1]);
- % (c) Interpolation by I = 4
- I = 4; y = interp(x, I); subplot(2, 2, 3);
- Hc = stem(m, y(m+k1*I+1), 'r', 'filled'); axis([-1, 33, -1.1, 1.1]); grid on;
- set(Hc, 'markersize', 2); xlabel('n'); ylabel('Amplitude');
- title('Interpolated by I = 4', 'fontsize', TF);
- set(gca, 'xtick', [0, 16, 32]);
- set(gca, 'ytick', [-1, 0, 1]);
- % (d) Interpolation by I = 8
- I = 8; y = interp(x, I); subplot(2, 2, 4);
- Hd = stem(m, y(m+k1*I+1), 'm', 'filled'); axis([-1, 33, -1.1, 1.1]); grid on;
- set(Hd, 'markersize', 2); xlabel('n'); ylabel('Amplitude');
- title('Interpolated by I = 8', 'fontsize', TF);
- set(gca, 'xtick', [0, 16, 32]);
- set(gca, 'ytick', [-1, 0, 1]);
运行结果:
从图看,I的所有三个数值下的插值序列是合适的,在更高的采样率上展示了原始正弦信号x(n)。I=8的例子里,
插值序列从形状上看不像是精确的正弦信号。这可能是由于低通滤波器和理想低通滤波器有差距而造成的。
《DSP using MATLAB》示例 Example 9.4的更多相关文章
- 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 ...
- DSP using MATLAB 示例 Example3.19
代码: % Analog Signal Dt = 0.00005; t = -0.005:Dt:0.005; xa = exp(-1000*abs(t)); % Discrete-time Signa ...
- DSP using MATLAB示例Example3.18
代码: % Analog Signal Dt = 0.00005; t = -0.005:Dt:0.005; xa = exp(-1000*abs(t)); % Continuous-time Fou ...
- 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 ...
- 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 ...
- DSP using MATLAB 示例Example3.17
- 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, ...
- 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 ...
- 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 ...
- 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 , ...
随机推荐
- quartz动态job工具类 serviceh注入问题
package com.heyi.yanglao.common.job.util; import cn.hutool.core.date.DateUtil; import lombok.extern. ...
- Webstorm: cannot find any declarations
起因 在调整项目关系时,将根目录的.idea文件删除,导致了对相对路径的资源无法直接command + click进行跳转 尝试 1. 新建quick-link (无效) 2. invalidate ...
- (asp.net)百度浏览器Cookie的神奇bug
HttpCookie cookie = new HttpCookie("version"); cookie.Value = "1.1"; cookie.Expi ...
- stdclass
$item = new stdClass(); $item->goods_id = $item_goods->getID(); $item->goods_name ...
- Poi中getPhysicalNumberOfCells 与 getLastCellNum的差异
getPhysicalNumberOfCells 与 getLastCellNum的区别 用org.apache.poi的包做excel导入,无意间发明若是excel文件中有空列,空列后面的数据全部读 ...
- (转)浅谈SQL Server 对于内存的管理
简介 理解SQL Server对于内存的管理是对于SQL Server问题处理和性能调优的基本,本篇文章讲述SQL Server对于内存管理的内存原理. 二级存储(secondary storage) ...
- int数组的下标为n
int 类型的数组 先定义int n = 5: 定义int a[n] = {0}; 编译怎么不通过啊?n必须为常量如果想实现你说的,应该用宏#define n 5int a[n]={0};这样就可以了 ...
- 值类型的TryParse
值类型(Struct(如:DateTime).基本类型(如:double).枚举类型)的TryParse方法,通常可使用该方法将“字符串”转换为当前类型,并out出.比如:日期格式的字符串 转换为 ...
- 局部标签(gcc对c的扩展)
每个语句内嵌表达式都是一个可以声明局部跳转标签的域.一个局部标签只是一个标识符:你可以使用通常的goto语句跳到它--但是只能在它所属的域内这么做.一个局部标签的申明如下:__label__ labe ...
- day33 Python与金融量化分析(三)
第三部分 实现简单的量化框架 框架内容: 开始时间.结束时间.现金.持仓数据 获取历史数据 交易函数 计算并绘制收益曲线 回测主体框架 计算各项指标 用户待写代码:初始化.每日处理函数 第四部分 在线 ...