《DSP using MATLAB》Problem 2.14
代码:
%% ------------------------------------------------------------------------
%% Output Info about this m-file
fprintf('\n***********************************************************\n');
fprintf(' <DSP using MATLAB> Problem 2.14 \n\n'); banner();
%% ------------------------------------------------------------------------ n1 = [-10:30];
x1 = cos(pi*n1/4) .* (stepseq(-5, -10, 30)-stepseq(25, -10, 30)); n2 = [-10:30];
x2 = (0.9 .^ (-n2)) .* (stepseq(0, -10, 30) - stepseq(20, -10, 30)); n3 = [-10:10];
x3 = round( 5 * (-1+2*rand(21,1))); [x4, n4] = impseq(2, -10, 30); figure('NumberTitle', 'off', 'Name', 'Problem 2.14')
set(gcf,'Color',[1,1,1]) % 改变坐标外围背景颜色 subplot(4,1,1); stem(n1, x1); title('x1=cos(\pin/4)[u(n+5)-u(n-25)] sequence');
xlabel('n1'); ylabel('x(n)') ;
grid on
subplot(4,1,2); stem(n2, x2); title('x2=(10/9)^n[u(n)-u(n-20)] sequence');
xlabel('n2'); ylabel('x2(n2)');
grid on; subplot(4,1,3); stem(n3, x3); title('x3=round(5w(n)) sequence');
xlabel('n3'); ylabel('x3(n3)');
grid on; subplot(4,1,4); stem(n4, x4); title('x4=\delta(n-2) sequence');
xlabel('n4'); ylabel('x4(n4)');
grid on; %% ------------------------------------------
%% Commutation
%% ------------------------------------------
[y1, ny1] = conv_m(x1, n1, x2, n2);
[y2, ny2] = conv_m(x2, n2, x1, n1); figure('NumberTitle', 'off', 'Name', 'Problem 2.14 Commutation')
set(gcf,'Color',[1,1,1]) % 改变坐标外围背景颜色 subplot(2,1,1); stem(ny1, y1); title('x1*x2 sequence');
xlabel('ny1'); ylabel('y1(n)') ;
grid on
subplot(2,1,2); stem(ny2, y2); title('x2*x1 sequence');
xlabel('ny2'); ylabel('y2(n)');
grid on; %% -----------------------------------------------
%% Association
%% -----------------------------------------------
[y1, ny1] = conv_m(x1, n1, x2, n2);
[y2, ny2] = conv_m(y1, ny1, x3, n3); [y3, ny3] = conv_m(x2, n2, x3, n3);
[y4, ny4] = conv_m(y3, ny3, x1, n1); figure('NumberTitle', 'off', 'Name', 'Problem 2.14 Association')
set(gcf,'Color',[1,1,1]) % 改变坐标外围背景颜色 subplot(2,1,1); stem(ny2, y2); title('(x1*x2)*x3 sequence');
xlabel('ny2'); ylabel('y2(n)') ;
grid on
subplot(2,1,2); stem(ny4, y4); title('x1*(x2*x3) sequence');
xlabel('ny4'); ylabel('y4(n)');
grid on; %% ------------------------------------------------
%% Distribution
%% ------------------------------------------------
[y1, ny1] = sigadd(x2, n2, x3, n3);
[y2, ny2] = conv_m(x1, n1, y1, ny1); [y3, ny3] = conv_m(x1, n1, x2, n2);
[y4, ny4] = conv_m(x1, n1, x3, n3);
[y5, ny5] = sigadd(y3, ny3, y4, ny4); figure('NumberTitle', 'off', 'Name', 'Problem 2.14 Distribution')
set(gcf,'Color',[1,1,1]) % 改变坐标外围背景颜色 subplot(2,1,1); stem(ny2, y2); title('x1*[x2+x3] sequence');
xlabel('ny2'); ylabel('y2(n)') ;
grid on
subplot(2,1,2); stem(ny5, y5); title('x1*x2+x1*x3 sequence');
xlabel('ny5'); ylabel('y5(n)');
grid on; %% -------------------------------------------------------------
%% Identity
%% ------------------------------------------------------------- [y1, ny1] = conv_m(x1, n1, x4, n4);
[y2, ny2] = sigshift(x1, n1, 2); [y3, ny3] = conv_m(x2, n2, x4, n4);
[y4, ny4] = sigshift(x2, n2, 2); [y5, ny5] = conv_m(x3, n3, x4, n4);
[y6, ny6] = sigshift(x3, n3, 2); figure('NumberTitle', 'off', 'Name', 'Problem 2.14 Identity1')
set(gcf,'Color',[1,1,1]) % 改变坐标外围背景颜色 subplot(2,1,1); stem(ny1, y1); title('x1*\delta(n-n0) n0=2 sequence');
xlabel('ny1'); ylabel('y1(n)') ;
grid on
subplot(2,1,2); stem(ny2, y2); title('x1(n-n0) sequence');
xlabel('ny2'); ylabel('y2(n)');
grid on; figure('NumberTitle', 'off', 'Name', 'Problem 2.14 Identity2')
set(gcf,'Color',[1,1,1]) % 改变坐标外围背景颜色 subplot(2,1,1); stem(ny3, y3); title('x2*\delta(n-n0) n0=2 sequence');
xlabel('ny3'); ylabel('y3(n)') ;
grid on
subplot(2,1,2); stem(ny4, y4); title('x2(n-n0) sequence');
xlabel('ny4'); ylabel('y4(n)');
grid on; figure('NumberTitle', 'off', 'Name', 'Problem 2.14 Identity3')
set(gcf,'Color',[1,1,1]) % 改变坐标外围背景颜色 subplot(2,1,1); stem(ny5, y5); title('x3*\delta(n-n0) n0=2 sequence');
xlabel('ny5'); ylabel('y5(n)') ;
grid on
subplot(2,1,2); stem(ny6, y6); title('x3(n-n0) sequence');
xlabel('ny6'); ylabel('y6(n)');
grid on;
运行结果:
《DSP using MATLAB》Problem 2.14的更多相关文章
- 《DSP using MATLAB》Problem 7.14
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 6.14
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 5.14
说明:这两个小题的数学证明过程都不会,欢迎博友赐教. 直接上代码: %% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 4.14
代码: %% ---------------------------------------------------------------------------- %% Output Info a ...
- 《DSP using MATLAB》Problem 8.14
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- 《DSP using MATLAB》Problem 7.26
注意:高通的线性相位FIR滤波器,不能是第2类,所以其长度必须为奇数.这里取M=31,过渡带里采样值抄书上的. 代码: %% +++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 6.8
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 5.7
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.27
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
随机推荐
- 手把手教你学node之搭建node.js开发环境
搭建node.js开发环境 本文只针对在Linux或者Mac下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦 ...
- css 文档流中块级非替换元素水平区域的计算规则(1)
最近在读<Basic Visual Formatting in CSS>,结合以前看的<css权威指南>和css标准.今天就做个笔记. 以前在遇到一些宽度不明确指明的一些布局的 ...
- 20145311 《Java程序设计》第六周学习总结
20145311 <Java程序设计>第六周学习总结 教材学习内容总结 第十章(Input&&Output) 10.1InputStream OutputStream 10 ...
- HDU 5950 Recursive sequence(矩阵快速幂)题解
思路:一开始不会n^4的推导,原来是要找n和n-1的关系,这道题的MOD是long long 的,矩阵具体如下所示 最近自己总是很坑啊,代码都瞎吉坝写,一个long long的输入写成%d一直判我TL ...
- 操作数据库的时候,使用自带的DbProviderFactory类 (涉及抽象工厂和工厂方法)
微软自带的DbProviderFactory https://msdn.microsoft.com/en-us/library/system.data.common.dbproviderfactory ...
- POJ 2253 Frogger(dijkstra变形)
http://poj.org/problem?id=2253 题意: 有两只青蛙A和B,现在青蛙A要跳到青蛙B的石头上,中间有许多石头可以让青蛙A弹跳.给出所有石头的坐标点,求出在所有通路中青蛙需要跳 ...
- python 列表元素替换以及删除
>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> letters ['a', 'b', 'c', 'd', ...
- 后端利用Redis队列及哈希实现定时推送提醒的三个思路
周煦辰 2016年8月31日 本文介绍了一下本人在开发过程中遇到"定时推送提醒"的需求的时候所思考的三种解决方案. 明确问题 首先明确一下这个需求可能包含的几个"坑&qu ...
- Rails 5 Test Prescriptions 第4章 什么制造了伟大的测试
伴随着程序成长,测试变长,复杂性增加,如何更高效的写测试,对以后开发不会造成麻烦. 测试本身没发被测试,所以一定要清楚,可控.不要加循环,不要过于复杂的自动编程. Cost and Value 成本和 ...
- localStorage(本地存储)使用总结
1.https://www.cnblogs.com/st-leslie/p/5617130.html (localStorage使用总结)