Skip to main content

Low-pass and High-pass filters in MATLAB

 

MATLAB Code

 clc;
clear all;
close all;

amplitude = 1; % Amplitude of the sine wave
frequency = 10; % Frequency of the sine wave in Hertz
duration = 1; % Duration of the signal in seconds
Fs = 10000; % Sampling frequency

% Time vector
t = 0:1/Fs:duration;

% Generate the sine wave signal
sinusoidal_signal = amplitude * sin(2*pi*frequency*t) + amplitude*2 * cos(2*pi*500*t);

% Plot the sine wave signal
figure;
plot(t, sinusoidal_signal, 'b-', 'LineWidth', 2);
title('Sinusoidal Signal');
xlabel('Time (seconds)');
ylabel('Amplitude');
grid on;

figure()
%demdulated
d=sinusoidal_signal;
filter=fir1(200, 10/(Fs/2), 'low');
original_t_signal=conv(filter,d);
t1=0:1/(length(original_t_signal)-1):1;
plot(t1,original_t_signal);
title('demodulated signal');

Output 

 

 
Fig: sin(2*pi*10*t) + 2cos(2*pi*500*t)
 
 
 

After Applying a Low-Pass filter which cut-off frequency is 10Hz, 

we get this 

 
 
Fig:  sin(2*pi*10*t)

 
 

MATLAB Code for High-Pass Filter

% Define or generate a sample signal
Fs = 1000; % Sampling frequency
t = 0:1/Fs:1; % Time vector
f_signal = 50; % Frequency of the signal
signal = sin(2*pi*f_signal*t);

% Design a high-pass filter
cutoff_frequency = 10; % Cutoff frequency in Hz
filter_order = 200; % Filter order
highpass_filter = fir1(filter_order, cutoff_frequency/(Fs/2), 'high');

% Apply the high-pass filter to the signal
filtered_signal = filter(highpass_filter, 1, signal);

% Plot the original and filtered signals
figure;
subplot(2,1,1);
plot(t, signal);
title('Original Signal');
xlabel('Time');
ylabel('Amplitude');

subplot(2,1,2);
plot(t, filtered_signal);
title('High-pass Filtered Signal');
xlabel('Time');
ylabel('Amplitude');

% Add a legend
legend('Original Signal', 'Filtered Signal');

% Show the plot
grid on;
 

Output (when cut-off frequency is 10 Hz and original signal is set to 50 Hz)

 
 

Output (when cut-off frequency is 60 Hz and original signal is set to 50 Hz)

 
 
 

Copy the MATLAB Code from here

For Low-pass filter

 

 

For High-pass filter

 

Contact Us

Name

Email *

Message *