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

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

Embed Size (px)

Citation preview

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

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 (or how NB2 works!) Phil Harman VK6APH

The Problem

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

Conventional (Analogue) Solutions

Noise Clipper Noise Blanker

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

A DSP Solution

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

An image processing technique

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

An image processing technique

Original Image Image + Impulse noise

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

Median Filtering

Median Filtered Image Image + Impulse noise

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

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 (or how NB2 works!) Phil Harman VK6APH

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 (or how NB2 works!) Phil Harman VK6APH

Median Filtering Example

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

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 (or how NB2 works!) Phil Harman VK6APH

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 (or how NB2 works!) Phil Harman VK6APH

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 (or how NB2 works!) Phil Harman VK6APH

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 (or how NB2 works!) Phil Harman VK6APH

Pseudo Code

for i < buffer_size

mag = mag(signal,i)

“median” = 0.75median + 0.25(signal,i)

average = 0.999average + 0.001mag

if mag > (threshold x average)

(signal,i) = median

next i

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

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 (or how NB2 works!) Phil Harman VK6APH

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 (or how NB2 works!) Phil Harman VK6APH

Questions?

Rank Order Mean (ROM) Noise Banker

Sliding ROM Noise Blanker

Median Impulse Reduction