Azzera filtri
Azzera filtri

Pre–emphasis - Signal Processing

74 visualizzazioni (ultimi 30 giorni)
sparrow Jr
sparrow Jr il 11 Ago 2018
Commentato: hanif omar il 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 Commento
KALYAN ACHARJYA
KALYAN ACHARJYA il 11 Ago 2018
Is this Matlab related question or understand the concept?

Accedi per commentare.

Risposte (1)

Dimitris Kalogiros
Dimitris Kalogiros il 11 Ago 2018
Modificato: Dimitris Kalogiros il 11 Ago 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 Commenti
Dimitris Kalogiros
Dimitris Kalogiros il 30 Set 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 il 14 Feb 2021
if x is input.can i put x is analogread ?

Accedi per commentare.

Categorie

Scopri di più su Audio Processing Algorithm Design in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by