用matlab画出信噪比为-10dB的20Mhz的正弦函数信号进行FFT后的频谱图,并计算信噪比
时间: 2023-11-22 22:56:01 浏览: 68
首先,生成20MHz正弦函数信号:
```
fs = 100e6; % 采样率
t = 0:1/fs:1e-6; % 时域范围
f = 20e6; % 信号频率
x = sin(2*pi*f*t); % 信号
```
接着,加入-10dB的高斯白噪声:
```
SNR = -10; % 信噪比
Psignal = rms(x)^2; % 信号功率
Pnoise = Psignal/10^(SNR/10); % 噪声功率
noise = sqrt(Pnoise)*randn(size(x)); % 噪声
x = x + noise; % 加噪声
```
然后,进行FFT变换并绘制频谱图:
```
N = length(x); % 信号长度
X = fft(x); % FFT
faxis = linspace(-fs/2,fs/2,N); % 频率轴
plot(faxis/1e6,20*log10(abs(fftshift(X))/N)); % 绘制频谱图
xlabel('频率/MHz');
ylabel('幅值/dBFS');
```
最后,计算信噪比:
```
Perror = rms(noise)^2; % 误差功率
SNR_cal = 10*log10(Psignal/Perror); % 计算信噪比
```
完整代码如下:
```
fs = 100e6; % 采样率
t = 0:1/fs:1e-6; % 时域范围
f = 20e6; % 信号频率
x = sin(2*pi*f*t); % 信号
SNR = -10; % 信噪比
Psignal = rms(x)^2; % 信号功率
Pnoise = Psignal/10^(SNR/10); % 噪声功率
noise = sqrt(Pnoise)*randn(size(x)); % 噪声
x = x + noise; % 加噪声
N = length(x); % 信号长度
X = fft(x); % FFT
faxis = linspace(-fs/2,fs/2,N); % 频率轴
plot(faxis/1e6,20*log10(abs(fftshift(X))/N)); % 绘制频谱图
xlabel('频率/MHz');
ylabel('幅值/dBFS');
Perror = rms(noise)^2; % 误差功率
SNR_cal = 10*log10(Psignal/Perror); % 计算信噪比
disp(['计算得到的信噪比为:', num2str(SNR_cal), ' dB']);
```
相关推荐
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)