matlab将例子中的序列 x(n) = 2sin(0.48Πn) cos(0.52Πn) 0 <=n <=100 ,进行线性分解后,分别作出 sin 和 cos 信号的幅度、相角、实部、虚部的特性曲线,利用这些曲线验证前述的线性性质以及实奇,实 偶特性。
时间: 2024-02-13 17:07:00 浏览: 71
根据题目要求,在 MATLAB 中,可以按照以下步骤进行操作:
1. 定义序列 x(n):
```
n = 0:100;
x = 2*sin(0.48*pi*n) + cos(0.52*pi*n);
```
2. 对序列进行线性分解:
```
X = fft(x);
```
3. 计算幅度、相角、实部和虚部:
```
A = abs(X);
theta = angle(X);
real_part = real(X);
imag_part = imag(X);
```
4. 绘制幅度、相角、实部和虚部的特性曲线:
```
subplot(2,2,1)
stem(n,A)
title('幅度')
xlabel('n')
ylabel('|X(n)|')
subplot(2,2,2)
stem(n,theta)
title('相角')
xlabel('n')
ylabel('∠X(n)')
subplot(2,2,3)
stem(n,real_part)
title('实部')
xlabel('n')
ylabel('Re(X(n))')
subplot(2,2,4)
stem(n,imag_part)
title('虚部')
xlabel('n')
ylabel('Im(X(n))')
```
5. 验证线性性质和实奇、实偶特性:
线性性质验证:
```
x1 = sin(0.48*pi*n);
x2 = cos(0.52*pi*n);
X1 = fft(x1);
X2 = fft(x2);
X_sum = X1 + X2;
subplot(2,1,1)
stem(n,X_sum)
title('X1(n) + X2(n)')
xlabel('n')
ylabel('X1(n) + X2(n)')
subplot(2,1,2)
stem(n,X)
title('X(n)')
xlabel('n')
ylabel('X(n)')
```
实奇特性验证:
```
x_odd = (x - fliplr(x))/2;
X_odd = fft(x_odd);
subplot(2,1,1)
stem(n,X_odd)
title('X_odd(n)')
xlabel('n')
ylabel('X_odd(n)')
subplot(2,1,2)
stem(n,-1i*imag(X_odd))
title('-jIm(X_odd(n))')
xlabel('n')
ylabel('-jIm(X_odd(n))')
```
实偶特性验证:
```
x_even = (x + fliplr(x))/2;
X_even = fft(x_even);
subplot(2,1,1)
stem(n,X_even)
title('X_even(n)')
xlabel('n')
ylabel('X_even(n)')
subplot(2,1,2)
stem(n,real(X_even))
title('Re(X_even(n))')
xlabel('n')
ylabel('Re(X_even(n))')
```
以上代码可供参考,具体实现和细节可能需要根据具体情况进行调整。
阅读全文