the spooks behind you cs 791v final project sam delaney
TRANSCRIPT
The Rundown
• Review of Project• How to detect a rouge signal transmission.• How we are going to detect a signal transmission• Literature Review• Serial Implementation• Parallel Plan of Attack• Questions
Detection Theory
• Detection theory, or signal detection theory, is a means to quantify the ability to discern between information-bearing patterns (called stimulus in humans, signal in machines) and random patterns that distract from the information (called noise, consisting of background stimuli and random activity of the detection machine and of the nervous system of the operator). -wikipedia
Detection Theory Review
• Determine a threshold for detection.• If a signal breaks that threshold, flag the transmission.• The threshold for noise must be tuned.• Too strict or too lax, brains get eaten .
The Data!
• The Data provided is a binary file containing a series of numbers, one real and one imaginary.
• These numbers represent the signal we are receiving.• But they are useless as is. USELESS.
How to be useful
• First we take each set of numbers• One real, one imaginary
• We square each value and sum them the real and imaginary values• This gives us a positive point
• Rinse and Repeat as desired or until you run out of values• (You should use all the values)
But we can make it useful!
Points on a plane, err line
• So great we have a big jagged line of data• MISSION ACCOMPLISHED!
• Oh? We have to do more. Lame• While we now have a signal we can graph, it’s still pretty
messy. • Lots of noise, noise leads to anger, anger leads to hate, hate
leads to the dark side.
• While we can’t completely destroy the noise. (The Force must maintain balance) We can reduce it.
FILTER, Filter, filter
• Make this big jagged line not so jagged
• Many options for filters• Average neighbor• Median• About a million others• No really, you can spend
hours on Wikipedia
Let’s role with Median
• Well, that escalated quickly• Why Median?• For signals it’s considered poor form to lose edges while
filtering• Filters like average neighbor will help reduce noise but at
the cost of edge detection• While median filters are not the only filter we could use it is
perhaps the most easy to implement• I vote easy
How median keeps its edge
• An example of a signal (blue)
• Signal after an average filter is applied (center)
• Signal after a median filter is applied (right)
Step 67
• Now the Easy/Hard part• It’s how you look at it really
• With a clean…ish curve we are now ready to find some spies!
• The Easy Way• After a section of known non transmission, find highest
value and set as threshold. All values above are zombie spies transmitting in your space. (See cheating)
• The Hard Way• Find a section that over time seems to remain relatively
constant. Use that as base point for threshold. However, monitor relative noise level and adjust threshold as need be. Receive PhD for being super smart.
• Constant False Alarm Rate
ALARM
• Constant False Alarm Rate• Adaptive threshold• Many ways to implement• The most advanced use statistics and probability based on past
hits• But for the sake of argument lets use the most simple
What I read on the interwebs
Love
• So many articles!• Computer science has
many problems concerning SDT
• Interesting uses of SDT
Hate
• ~90% where in psychology
• None of them were my problem
• Not interesting uses of SDT
Articles worth reading
• Wikipedia• You saw nothing!
• Clairvoyant and adaptive signal detection in non-Gaussian clutter: A data-dependent threshold interpretation
• Spam filter optimality based on signal detection theory• A behavioral theory of insider-threat risks: A system
dynamics approach• Comparison of anomaly signal quality in common
detection metrics
Feed me data yum yum
• Current Implementation• Reads a file with a real and imaginary integer• Uses thread to read in data and store to queue• Also does math on the values to give us the positive point• Sum the squares
• Nothing to write home about
Tap me out!
• Next thread• Take that queue and run through a median filter• The median filter implementation• Fill “window” 32 values• Sort values in window• Median value is the value assigned• Pop off last value, push on new one.
• Keep going while the data thread has work for you.
Let’s do this!
• Main thread• Takes data from median filter• Over first x entrees of the entries we assume no
transmission• Where x is user defined
• Find and retain highest value, set as threshold• After x entrees, any value over the threshold causes flag to
be triggered and inform user with message.
Future Add On’s
• Things that would be nice to have• Implement Constant False Alarm Rate• Make a cool interface, not the command line• CIA endorsement
HIT THE WEAK POINT!
• Reading data• Streams will be my friend• Need to do tests whether it is worth while to do point
calculation on CPU and pass up, or pass twice the data and do math on card. TESTING!
• Filtering• Median filter on GPU, honestly this could go either way
• Threshold• While the easy pick the highest way should be trivial to
implement need to keep CFAR in mind
Review!
• Signal Detection Theory (SDT)• How to detect rouge transmission• In this problems scope
• Literature Review• Serial Implementation• Parallel Plan of Attack• Review