Clear Filters
Clear Filters

Pre–emphasis - Signal Processing

74 views (last 30 days)
sparrow Jr
sparrow Jr on 11 Aug 2018
Commented: hanif omar on 14 Feb 2021
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
KALYAN ACHARJYA
KALYAN ACHARJYA on 11 Aug 2018
Is this Matlab related question or understand the concept?

Sign in to comment.

Answers (1)

Dimitris Kalogiros
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
  3 Comments
Dimitris Kalogiros
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
hanif omar
hanif omar on 14 Feb 2021
if x is input.can i put x is analogread ?

Sign in to comment.

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!