stem(n,y1, '. ');
时间: 2023-12-04 21:05:23 浏览: 57
这是MATLAB语言中的一条命令,用于绘制离散时间信号的图像。其中,n表示时间轴上的采样点位置,y1表示对应的信号幅值。'. '表示绘制的图像样式,这里表示使用点来绘制离散时间信号。具体来说,这个命令会在图像上绘制一系列的点,每个点的横坐标为n中对应的值,纵坐标为y1中对应的值。通过这种方式,我们可以看到离散时间信号的取值情况和变化趋势。
相关问题
function tstem(xn,yn) n=0:length(xn)-1; stem(n,xn,'.'); xlabel('n');ylabel(yn); axis([0,n(end),min(xn),1.2*max(xn)]); A=[1,0.75,0.125]; B=[1,-1]; n=0:20; x1=[1 zeros(1,20)]; y1filter=filter(B,A,x1); stem(n,y1filter); title('y1filter'); xlabel('x'); ylabel('y');
这是一个MATLAB函数,用于绘制离散信号的时域波形图。输入参数xn是离散信号的值,yn是y轴的标签。函数中首先计算出离散信号的长度n,然后用stem函数绘制出时域波形图。xlabel和ylabel函数用于设置x轴和y轴的标签,axis函数用于设置坐标轴范围。
除此之外,代码的最后还包括了另一段MATLAB代码,其中用到了filter函数,用于对一个差分方程系统进行模拟。A和B是差分方程系统的系数,x1是一个输入信号,y1filter是系统对输入信号的响应。stem函数用于绘制离散信号的时域波形图。标题和坐标轴标签也都被设置好了。
逐行分析代码n1 = 0:1:12; x1 =0.9.^n1; h = ones(1,12); N =length(x1)+length(h)-1; n = 0:N-1; ny = 0:20; y1 = circonvt(x1,h,21); y2 = circonvt(x1,h,N); x1 = [x1 zeros(1,N-length(x1))]; h = [h zeros(1,N-length(h))]; X1 = fft(x1,N); H = fft(h,N); X = X1.*H; x = ifft(X); x = real(x); subplot(2,2,1);stem(n,x1);title('x1(n)');axis([0,33,0,1]); subplot(2,2,2);stem(n,h);title('h(n)');axis([0,33,0,1]); subplot(2,2,3);stem(ny,y1,'fill');title('21点循环卷积 ');axis([0,33,0,8]); hold on;subplot(2,2,4);stem(n,x);title('线性卷积');axis([0,33,0,8]); subplot(2,2,3);stem(n,x,'r','--'); axis([0,33,0,8]); hold off
1. n1 = 0:1:12; - 定义一个从0到12,步长为1的等差数列n1。
2. x1 =0.9.^n1; - 将x1定义为0.9的n1次方。
3. h = ones(1,12); - 将h定义为长度为12的全1向量。
4. N =length(x1)+length(h)-1; - 计算x1和h的长度之和再减去1,得到线性卷积结果的长度。
5. n = 0:N-1; - 定义一个从0到N-1,步长为1的等差数列n。
6. ny = 0:20; - 定义一个从0到20,步长为1的等差数列ny。
7. y1 = circonvt(x1,h,21); - 调用circonvt函数,计算x1和h的21点循环卷积结果y1。
8. y2 = circonvt(x1,h,N); - 调用circonvt函数,计算x1和h的线性卷积结果y2。
9. x1 = [x1 zeros(1,N-length(x1))]; - 将x1补零,使其长度为N。
10. h = [h zeros(1,N-length(h))]; - 将h补零,使其长度为N。
11. X1 = fft(x1,N); - 对x1进行N点FFT变换。
12. H = fft(h,N); - 对h进行N点FFT变换。
13. X = X1.*H; - 计算X1和H的乘积。
14. x = ifft(X); - 对X进行IFFT变换。
15. x = real(x); - 取x的实部。
16. subplot(2,2,1);stem(n,x1);title('x1(n)');axis([0,33,0,1]); - 绘制x1的图像。
17. subplot(2,2,2);stem(n,h);title('h(n)');axis([0,33,0,1]); - 绘制h的图像。
18. subplot(2,2,3);stem(ny,y1,'fill');title('21点循环卷积 ');axis([0,33,0,8]); hold on; - 绘制21点循环卷积结果y1的图像。
19. subplot(2,2,4);stem(n,x);title('线性卷积');axis([0,33,0,8]); - 绘制线性卷积结果x的图像。
20. subplot(2,2,3);stem(n,x,'r','--'); axis([0,33,0,8]); hold off - 在y1的图像上添加线性卷积结果x的图像。