信号仿真设计

该文详细描述了一个信号处理流程,首先生成一个100kHz采样频率的15毫秒冲击波信号,然后添加10%最大幅值误差的随机白噪声。接着,计算了含噪信号的幅值谱和相位谱。设计了一个10阶的FIR低通滤波器,以5kHz为截止频率,用于滤波。最后,分析并比较了原始含噪信号与经过滤波后的信号,展示了滤波器的频率响应。
摘要由CSDN通过智能技术生成

 

% Step 3: Generate Impulse Signal
fs = 100e3; % 采样频率为100kHz
duration = 15e-3; % 持续时间为15ms
t = 0:1/fs:duration; % 时间向量
impulse_signal = zeros(size(t));
impulse_signal(1) = 1; % 冲击波信号

% Step 4: Add Random/White Noise
max_amplitude_error = 0.1; % 最大幅值误差为10%
noise_signal = max_amplitude_error * randn(size(t)); % 随机/白噪声信号

% Add noise to impulse signal
signal3 = impulse_signal + noise_signal;

% Step 5: Calculate Amplitude Spectrum and Phase Spectrum
N = length(signal3); % 信号长度
frequencies = (0:N-1) * fs / N; % 频率向量
amplitude_spectrum = abs(fft(signal3)) / N; % 幅值谱
phase_spectrum = angle(fft(signal3)); % 相位谱

% Step 6: Design Digital Filter
desired_max_amplitude_error = 0.03; % 期望的最大幅值误差为3%
filter_order = 10; % 滤波器阶数
cutoff_frequency = 5e3; % 截止频率为5kHz

% Design lowpass FIR filter
filter_coefficients = fir1(filter_order, cutoff_frequency/(fs/2));

% Apply filter to signal3
filtered_signal = filter(filter_coefficients, 1, signal3);

% Step 7: Analyze and Interpret Results
% 在这里添加对结果的进一步分析和解释,以获得合理有效的结论

% Plotting the Signals
figure;
subplot(2,1,1);
plot(t, signal3);
xlabel('Time (s)');
ylabel('Amplitude');
title('Signal 3: Impulse Signal with Random/White Noise');

% Plotting the Amplitude Spectrum
subplot(2,1,2);
plot(frequencies, amplitude_spectrum);
xlabel('Frequency (Hz)');
ylabel('Amplitude Spectrum');
title('Amplitude Spectrum of Signal 3');

% Plotting the Phase Spectrum
figure;
plot(frequencies, phase_spectrum);
xlabel('Frequency (Hz)');
ylabel('Phase Spectrum');
title('Phase Spectrum of Signal 3');

% Plotting the Filtered Signal
figure;
plot(t, filtered_signal);
xlabel('Time (s)');
ylabel('Amplitude');
title('Filtered Signal 3');

% Plotting the Comparison
figure;
subplot(2,1,1);
plot(t, signal3);
hold on;
plot(t, filtered_signal);
hold off;
xlabel('Time (s)');
ylabel('Amplitude');
title('Comparison: Original Signal 3 vs Filtered Signal 3');
legend('Original Signal', 'Filtered Signal');

% Plotting the Filter Frequency Response
figure;
freqz(filter_coefficients);
title('Frequency Response of the Digital Filter');

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Minks_my

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值