AE2M99CZS seminar
Hilbert transform (HT)
Instantaneous envelope of signal.
- Computation of signal envelope using Hilbert transform and MA filter
- Compute envelopes for the following signals:
- s1 ... speech signal speech_16k_HT.cs0 (sampling frequency fs = 16 kHz, raw-binary format without header, to load it into MATLAB
use function loadbin.m),
- s2 ... sinusoid with constant amplitude with the following parameters f=50 Hz, fs=500 Hz, length
Nx=100 samples .
- s3 ... sinusoid with exponential amplitude (modulated) with the following parameters f=50 Hz, fs=500 Hz, length
Nx=100 samples, exponential attenuation
coefficient a=0.98, i.e. s3[n] = a^n * sin (2*pi*f*n/fs ).
- Compute analytic signal using Hilbert tranform (in MATLAB fcn hilbert), i.e. s_hat[n] = s[n] + j*s_tilde[n].
- Compute instantaneous envelope of analyzed signal on the basis of above created analytic signalas s_env[n] = sqrt ( s^2[n] + s_tilde^2[n]), i.e. from magnitude of analytic signal.
- Compute the signal envelope also on the basis of MA filter and instantaneous power of analyzed signal. Use the followign orders of MA filter M=10, 30, 100 vzorků. Explain observed results.
- 1st checked results:
Display for signals s1, s2, s3:
- waveform of analyzed signal - subplot(311),
- instantaneous signal envelope computed on the basis of HT, including real and imaginary part of analytic signal - subplot(312),
- envelope computed on the basis of MA filtering - subplot(313).
- Amplitude demodulation using Hilbert transform.
- Use as LF useful signal x[n] the following short part of speech signal speech_16k_HT_frame.cs0 (sampling frequency of LF useful signal is fs_x = 16 kHz).
- Choose sampling frequency of HF signal as fs_a = 10 * fs_x.
- Resample signal x[n] to sampling frequency fs_a, i.e. create signal x_a[n] (in MATLAB fcn resample).
- Generate carrier signal, i.e. cosinusoid with frequency f_n = fs_a / 8, the carrier signal should have the same length as resampled speech signal xa[n].
- Create modulated signal according to the rule for amplitude modulation as x_am(t) = cos ( 2*pi*fn*t ) * ( 1 + k*x_a(t) ). Use the modulation depth as k = 0.8.
- Realize demodulation of the signal x_am[n] on the basis of computation of instantaneous signal envelope using Hilbert transform.
- Compare demodulated signal with the original LF signal.
- 2nd checked result:
Display:
- LF speech signal x[n],
- resampled speech signal xa[n],
- HF carrier harmonic signal s[n],
- AM modulated HF signal x_am[n],
- instantaneous signal envelope x_am[n],
- demodulated signal, i.e. downsampled instantaneous signal envelope of modulated HF signal.