Ramp-filteret i MATLAB

Ramp-filteret i MATLAB


MATLAB er en profesjonell programvarepakke som gir pre-skrevet funksjoner for tekniske applikasjoner som digital signalanalyse. I signalbehandling, er det ofte nødvendig å filtrere et signal ved å endre bidrag av signaler med forskjellige frekvenser. En lineær rampe filter er et filter som gir en lineært økende eller avtagende frekvensrespons over et område av frekvenser.

ramp Filter

I frekvensdomenet, blir en rampe filter representert ved en monotont økende funksjon som ligner en rampe. Funksjonen er symmetrisk om null. Når skråplanet filter er konvolvert med et annet signal fremhever det enten høye eller lave frekvenser. Den tidsdomene-transformasjonen av rampen filter er et symmetrisk ringepuls sentrert rundt null.

Bruk

Lineære rampe filtre brukes i en rekke optiske og medisinske bildebehandlingsprogrammer, for eksempel medisinsk bildeanalyse. Fordi en rampe filter passerer frekvenser ved toppen av rampen, og utelukker eller minsker andre, kan det anvendes i praksis, som et smalt båndpassfilter. Lineære rampe filtre blir ofte brukt i analysen av bildediagnostikk hvor tilbakesprednings gjenstander må fjernes.

Opprettelse

MATLAB gir ikke et eksisterende konstruktør for en lineær rampefilter, er det imidlertid lett å lage et ved hjelp av grunnleggende funksjoner MATLAB. Den ene siden av rampen kan opprettes ved hjelp av funksjonen linspace (), og deretter snudd og kombinert.

half_space_size = 128;
H = linspace (0, 2 * pi, half_space_size);
H_ramp = [HH (end-1: 1: 2)];

Den inverse diskrete Fourier-transformasjon av skråplanet filter blir deretter tatt, og filteret blir normalisert til å ha en maksimal intensitet av en.

h_ramp = ifftshift (IFFT (H_ramp));
h_ramp = h_ramp / max (h_ramp);

Langt fra null, i h_ramp meget nær null. En undergruppe av h_ramp om null kan tas for å optimalisere ytelsen uten en merkbar nedgang i nøyaktighet.

Bruk av filteret

Filtre kan brukes ved hjelp konvolveringsoperasjonen ved å kjøre conv () -funksjonen. "Samme" alternativet er påberopt å returnere et resultat som er av samme dimensjoner som den my_signal variabel.

my_filtered_signal = conv (my_signal, h_ramp, 'samme');