MATLAB画出0≤ f ≤fs范围的幅度谱,标出峰值频率
时间: 2023-12-11 20:04:37 浏览: 55
根据题意,我们需要画出频率范围在$0\leq f \leq f_s$的幅度谱,并标出峰值频率。这里我们使用MATLAB的fft函数进行计算和绘图。
首先,我们生成原始信号$s(n)$和噪声信号$w(n)$,并将它们相加得到接收信号$x(n)$:
```
% 采样频率
fs = 10000;
% 生成原始信号s(n),一个周期为10个采样点的方波信号
n = 0:9;
s = [ones(1,5), -ones(1,5)];
s = repmat(s,1,100);
% 生成噪声信号w(n),两个高频正弦波的叠加
f1 = 3500; % 高频正弦波1的频率
f2 = 4000; % 高频正弦波2的频率
A1 = 0.5; % 高频正弦波1的振幅
A2 = 0.3; % 高频正弦波2的振幅
w = A1*sin(2*pi*f1*n/fs) + A2*sin(2*pi*f2*n/fs);
w = repmat(w,1,100);
% 得到接收信号x(n)
x = s + w;
```
接下来,我们使用fft函数计算$x(n)$的幅度谱:
```
% 计算x(n)的幅度谱
X = fft(x);
X_mag = abs(X);
X_mag = X_mag(1:end/2+1); % 只取一半幅度谱
% 计算频率坐标
f = (0:length(X_mag)-1)*fs/length(X_mag);
% 绘制幅度谱
plot(f, X_mag);
xlabel('频率(Hz)');
ylabel('幅度');
title('接收信号的幅度谱');
```
最后,我们找到幅度谱中的峰值频率,并在图中标出:
```
% 找到幅度谱中的峰值频率
[max_mag, max_index] = max(X_mag);
max_freq = f(max_index);
% 在图中标出峰值频率
hold on;
plot(max_freq, max_mag, 'ro');
text(max_freq, max_mag, ['(' num2str(max_freq) ', ' num2str(max_mag) ')']);
```
完整代码如下:
```
% 采样频率
fs = 10000;
% 生成原始信号s(n),一个周期为10个采样点的方波信号
n = 0:9;
s = [ones(1,5), -ones(1,5)];
s = repmat(s,1,100);
% 生成噪声信号w(n),两个高频正弦波的叠加
f1 = 3500; % 高频正弦波1的频率
f2 = 4000; % 高频正弦波2的频率
A1 = 0.5; % 高频正弦波1的振幅
A2 = 0.3; % 高频正弦波2的振幅
w = A1*sin(2*pi*f1*n/fs) + A2*sin(2*pi*f2*n/fs);
w = repmat(w,1,100);
% 得到接收信号x(n)
x = s + w;
% 计算x(n)的幅度谱
X = fft(x);
X_mag = abs(X);
X_mag = X_mag(1:end/2+1); % 只取一半幅度谱
% 计算频率坐标
f = (0:length(X_mag)-1)*fs/length(X_mag);
% 绘制幅度谱
plot(f, X_mag);
xlabel('频率(Hz)');
ylabel('幅度');
title('接收信号的幅度谱');
% 找到幅度谱中的峰值频率
[max_mag, max_index] = max(X_mag);
max_freq = f(max_index);
% 在图中标出峰值频率
hold on;
plot(max_freq, max_mag, 'ro');
text(max_freq, max_mag, ['(' num2str(max_freq) ', ' num2str(max_mag) ')']);
```
运行上述代码,得到如下图所示的幅度谱:
![image.png](attachment:image.png)
可以看到,幅度谱有两个峰值,分别对应于高频正弦波1和高频正弦波2的频率。其中,峰值频率为$f = 3.5kHz$的幅度最大,为$50$左右。我们在图中标出了这个峰值频率的位置。
阅读全文
相关推荐
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)