rank ordered mean noise blanker or sliding median noise blanker

18
Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker (or how NB2 works!) Phil Harman VK6APH

Upload: thiery

Post on 18-Mar-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker. (or how NB2 works!) Phil Harman VK6APH. The Problem. Conventiona l (Analogue) Solutions. Noise Blanker. Noise Clipper. A DSP Solution. An image processing technique. An image processing technique. Original Image. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

Rank Ordered Mean Noise Blankeror

Sliding Median Noise Blanker

(or how NB2 works!)

Phil Harman VK6APH

Page 2: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

The Problem

Page 3: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

Conventional (Analogue) Solutions

Noise Clipper Noise Blanker

Page 4: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

A DSP Solution

Page 5: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

An image processing technique

Page 6: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

An image processing technique

Original Image Image + Impulse noise

Page 7: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

Median Filtering

Median Filtered Image Image + Impulse noise

Page 8: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

How Median Filtering works

7 17 18

15 200 9

12 11 14

Page 9: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

How Median Filtering works

• Record the values nearby7, 9, 11, 12, 14, 15, 17, 18, 200

• Sort (Rank) the values 7, 9, 11, 12, 14, 15, 17, 18, 200

• The median is the middle of a distribution: half the scores are above the median and half below*. 7, 9, 11, 12, 14, 15, 17, 18, 200

• The median is much less sensitive to extreme values and makes it a better measure than the mean for highly skewed distributions e.g. the mean is 34

* For an even number of values use the average of centre values

Page 10: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

Median Filtering Example

Page 11: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

Median Filtering Example

Median Noise Blanker

0

20

40

60

80

100

120

140

160

Sample

Val

ue Value

Value 0 17 34 50 64 150 87 94 98 100

1 2 3 4 5 6 7 8 9 10

Page 12: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

Median Filtering Example

Median Noise Blanker

0

20

40

60

80

100

120

140

160

Sample

Val

ue Value

MNB

Value 0 17 34 50 64 150 87 94 98 100

MNB 0 17 34 50 64 76 87 94 98 100

1 2 3 4 5 6 7 8 9 10

Page 13: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

Median Filtering Example - recap

• Look for samples that are outside the norm• Sort (Rank) the samples either side in Order• Calculate the median value • Replace the suspect sample with the median• Slide along to the next suspect sample and repeat• Issues:

– Processor intensive– Distortion if applied too aggressively– Only effective on impulse noise– Simpler technique gives equally good results.

Page 14: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

Median Filtering Example

• Q. How do we detect suspect samples?• A. Keep an average of all samples and look for samples

that are greater than the average by some amount e.g. average = 0.999last_sample + 0.001current_sample• Code: If sample > (threshold x average)

apply median filter

Page 15: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

Pseudo Code

for i < buffer_sizemag = mag(signal,i)

“median” = 0.75median + 0.25(signal,i) average = 0.999average + 0.001mag if mag > (threshold x average)

(signal,i) = mediannext i

Page 16: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

SDR1000 Code

voidSDROMnoiseblanker(NB nb) { int i; for (i = 0; i < CXBsize(nb->sigbuf); i++) { REAL cmag = Cmag(CXBdata(nb->sigbuf, i)); nb->average_sig = Cadd(Cscl(nb->average_sig, 0.75),

Cscl(CXBdata(nb->sigbuf, i), 0.25)); nb->average_mag = 0.999 * (nb->average_mag) + 0.001 * cmag; if (cmag > (nb->threshold * nb->average_mag)) CXBdata(nb->sigbuf, i) = nb->average_sig; }}

Page 17: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

Future Techniques

• Noise “Subtraction” (N4HY)– Detect the pulse– Determine what the receiver has done to it– Create a model of the pulse – Subtract the model from the signal– Completely linear process– If you get it wrong it will add a noise pulse!

Page 18: Rank Ordered Mean Noise Blanker or Sliding Median Noise Blanker

Questions?

Rank Order Mean (ROM) Noise BankerSliding ROM Noise BlankerMedian Impulse Reduction