Spectral Analysis and Filtering of Speech Signals Using MATLAB
- Login to Download
- 1 Credits
Resource Overview
This project involves recording a personal speech signal, performing sampling operations, and visualizing both time-domain waveforms and spectrograms. With specified filter performance metrics, we design filters using the window function method and bilinear transformation, then plot their frequency responses. The recorded signal is filtered using the custom-designed filter, and the filtered signal's time-domain waveform and spectrum are visualized. Finally, a comparative analysis between pre-filtered and post-filtered signals is conducted to examine signal changes.
Detailed Documentation
This project implements comprehensive speech signal processing through the following workflow: recording a personal speech signal, performing sampling operations, visualizing time-domain waveforms and spectrograms, designing filters based on specified performance metrics, and conducting comparative signal analysis.
Implementation Steps:
1. Speech Signal Acquisition
First, record a personal speech sample using Windows Sound Recorder with the content "I am [Name] from Automation Class [Number]", maintaining approximately 3 seconds duration. In the MATLAB environment, configure appropriate sampling frequency and sampling points, then utilize the audioread function (note: wavread is deprecated in modern MATLAB versions) to import and sample the audio signal. Key implementation involves setting parameters like fs = 44100 Hz and employing audiowrite for format conversion if needed.
2. Spectral Analysis of Speech Signal
Initially, plot the time-domain waveform of the sampled speech signal using plot() function with proper time-axis calibration. Subsequently, perform Fast Fourier Transform (FFT) using fft() function to obtain spectral characteristics. Critical implementation includes applying abs() and fftshift() for magnitude spectrum visualization, and using spectrogram() for time-frequency analysis with appropriate windowing parameters.
3. Filter Circuit Design
Given low-pass filter specifications: cutoff frequency fb = 1000 Hz, passband cutoff fc = 1200 Hz, stopband attenuation Rs = 15 dB, and passband ripple Rp = 1 dB. Design the filter using window function method (e.g., hamming, kaiser) combined with bilinear transformation. Implementation involves fir1() for FIR filter design or butter()/cheby1() for IIR alternatives, followed by freqz() for frequency response plotting. Finally, apply the designed filter using filter() or filtfilt() for zero-phase filtering, visualize filtered signals' time-domain and spectral characteristics, and conduct comparative analysis using subplot() arrangements and frequency domain overlays to demonstrate signal modifications.
- Login to Download
- 1 Credits