matlab正弦函数代码加噪声
时间: 2023-08-10 13:09:31 浏览: 548
下面是一个 MATLAB 正弦函数代码,包括添加噪声的过程:
```matlab
% 生成正弦函数
t = 0:0.1:10;
y = sin(t);
% 添加噪声
noise = 0.5 * randn(size(y)); % 产生与 y 相同大小的随机噪声
y_noisy = y + noise;
% 绘制图形
figure
plot(t, y_noisy, 'o')
hold on
plot(t, y, 'LineWidth', 2)
legend('Noisy Signal', 'Clean Signal')
```
在这个代码中,正弦函数的时间范围为 0 到 10,步长为 0.1,因此一共生成了 101 个数据点。然后,我们使用 `randn` 函数生成了一个与 `y` 相同大小的随机噪声,并将其添加到 `y` 中得到 `y_noisy`。最后,我们使用 `plot` 函数绘制了两条曲线,一条是加了噪声的信号,另一条是没有噪声的原始信号。
相关问题
正弦波加汉宁窗函数matlab代码
正弦波是一种周期性波形,它可以用来表示许多物理现象,如声音、光线、电压等。汉宁窗函数可以将正弦波变得更平滑,减少波形中的噪声和杂波。在matlab中,可以使用以下代码来生成正弦波和汉宁窗函数:
```matlab
% 生成正弦波
t = 0:0.001:2*pi; % 生成时间序列
f = 1000; % 正弦波频率
A = 1; % 正弦波幅值
y = A*sin(2*pi*f*t); % 正弦波信号
% 生成汉宁窗函数
win = hann(length(y))'; % 汉宁窗函数
% 将信号乘以窗函数
y_win = y.*win;
```
上述代码中,我们首先生成了一个时间序列,用来表示正弦波在一段时间内的变化。然后,我们定义了正弦波的频率和幅值,并使用sin函数来生成正弦波信号。接下来,我们使用hann函数生成了一个长度和正弦波信号相同的汉宁窗函数,并将信号乘以该窗函数,得到了一个平滑的正弦波信号。
matlab sinad函数源代码
MATLAB中没有内置的sinad函数,但是可以自己编写一个计算信噪比(SNR)和失真总谐波失真(THD)的函数。
下面是一个示例函数代码:
```matlab
function [SNR, THD] = sinad(x, Fs)
% 计算信噪比(SNR)和失真总谐波失真(THD)
% 输入参数:
% x - 输入信号
% Fs - 采样率
% 输出参数:
% SNR - 信噪比
% THD - 失真总谐波失真
% 计算信号功率
P_signal = rms(x)^2;
% 计算噪声功率
N = length(x);
P_noise = sum(x.^2)/N - P_signal;
% 计算信噪比
SNR = 10*log10(P_signal/P_noise);
% 计算失真总谐波失真
f = linspace(0, Fs/2, N/2+1);
X = fft(x)/N;
X_mag = abs(X(1:N/2+1));
X_mag(1) = 0; % DC分量不考虑
THD = 100*sqrt(sum(X_mag(2:end).^2))/rms(x);
```
使用示例:
```matlab
% 生成一个正弦波信号
Fs = 1000; % 采样率
f = 50; % 信号频率
t = 0:1/Fs:1; % 时间序列
x = sin(2*pi*f*t); % 正弦波信号
% 计算信噪比和失真总谐波失真
[SNR, THD] = sinad(x, Fs);
% 输出结果
fprintf('信噪比:%.2f dB\n', SNR);
fprintf('失真总谐波失真:%.2f %%\n', THD);
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)