Link Simulink Signal to App Designer (Lamp)
Réponses (2)
1 commentaire
0 votes
% Signal Parameters Fs_original = 320000; % Original signal frequency (Hz) T_original = 1/Fs_original; % Original signal sampling period t_original = 0:T_original:0.002; % Time vector for 2 ms
% Original Signal x_original = cos(2*pi*5000*t_original) + sin(2*pi*10000*t_original);
% Plotting the Original Signal figure; subplot(3, 1, 1); plot(t_original, x_original, 'b', 'LineWidth', 2); title('Original Signal'); xlabel('Time (s)'); ylabel('Amplitude');
% Nyquist Frequency Fn_original = Fs_original / 2;
% Sampling Frequencies Fs_sampled = [320000, 160000, 80000, 40000, 20000]; % Sampling frequencies (Hz) for i = 1:length(Fs_sampled)
% Nyquist-Shannon Sampling Theorem Check
if Fs_sampled(i) >= 2 * Fn_original
disp(['Sampling at Fs = ' num2str(Fs_sampled(i)/1000) ' kHz is valid (Nyquist criteria satisfied).']); % Sampling
T_sampled = 1/Fs_sampled(i);
t_sampled = 0:T_sampled:0.002;
x_sampled = cos(2*pi*5000*t_sampled) + sin(2*pi*10000*t_sampled); % Reconstruction using zero-order hold
x_reconstructed = zeros(size(t_original));
for j = 1:length(t_sampled)
% Find the nearest index and assign the sampled value
[~, idx] = min(abs(t_original - t_sampled(j)));
x_reconstructed(idx) = x_sampled(j);
end % Plotting the Sampled Signal
figure;
subplot(2, 1, 1);
stem(t_sampled, x_sampled, 'r', 'LineWidth', 2);
title(['Sampled Signal at Fs = ' num2str(Fs_sampled(i)/1000) ' kHz']);
xlabel('Time (s)');
ylabel('Amplitude'); % Plotting the Reconstructed Signal
subplot(2, 1, 2);
plot(t_original, x_original, 'b', 'LineWidth', 2);
hold on;
plot(t_original, x_reconstructed, 'g', 'LineWidth', 2);
title(['Reconstructed Signal at Fs = ' num2str(Fs_sampled(i)/1000) ' kHz']);
xlabel('Time (s)');
ylabel('Amplitude');
legend('Original Signal', 'Reconstructed Signal'); else
disp(['Sampling at Fs = ' num2str(Fs_sampled(i)/1000) ' kHz is invalid (Nyquist criteria not satisfied).']);
end
endif true % code end
Catégories
En savoir plus sur General Applications dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!