Pre–emphasis - Signal Processing
74 views (last 30 days)
Show older comments
I am trying to compute the Pre-emphasis of a signal and the formular is below:
y[n] = x[n] - 0.95 x[n-1]
Let:
x=[1 3 5 9 4 3 2 1]
First..
x[1] = 1
x[n - 1] =0
y[n] = 1 - (0.95 * 0) = 1
Second..
x[2] = 3
x[n - 1] = 1
y[n] = 3 - (0.95 * 1) = 2.05
Therefore:
y[n] = 3 - (0.95 * 1) = 2.05
But I don't understand how this has increased the energy of the signal at a higher frequency? Because 3 is greater than 2.05 etc..
How this filter work?
1 Comment
Answers (1)
Dimitris Kalogiros
on 11 Aug 2018
Edited: Dimitris Kalogiros
on 11 Aug 2018
Your question regards frequency response of FIR filters. I suggest to study (and run) the following script.
clear; clc; close all;
%frequency response of a filter with differencial equation y[n]=x[n]-0.95*x[x-1]
h=[1 -0.95];
freqz(h); zoom on; grid on;
title('frequency response')
%attenuation of a LOW frequency signal
t=0:1:500;
f1=0.01;
x=sin(2*pi*f1*t);
y=filter(h,1,x);
figure;
plot(x,'-b'); hold on;
plot(y, '-r'); zoom on; grid on;
legend('input', 'output');
title('attenuation of a LOW frequency signal')
%enhancement of a HIGH frequency signal
t=0:1:100;
f1=0.3;
x=sin(2*pi*f1*t);
y=filter(h,1,x);
figure;
plot(x,'-b'); hold on;
plot(y, '-r'); zoom on; grid on;
legend('input', 'output');
title('enhancement of a HIGH frequency signal');
Which illustrates how your filter works. How it emphasizes high frequencies and attenuates lowers
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/193486/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/193488/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/193490/image.jpeg)
3 Comments
Dimitris Kalogiros
on 30 Sep 2019
I used filter h=[1 -0.95] twice.
Each time, x is the input of the filter and y is the output.
At both examples, x was a sinusoidal signal, with frequency f1.
I use f1, in order to show what frequences are going to be attenuated and what frequencies are going to be enchaned.
t=0:1:500;
f1=0.01;
x=sin(2*pi*f1*t);
The above piece of code is just to generate filter's input.
You can just replace x with your audio signal
See Also
Categories
Find more on Audio Processing Algorithm Design in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!