1 / 25

FILTERS

FILTERS. Instructor: Dr.Collins CENG 5931 GNU Radio . CONTENTS. Introduction List of GNU Radio C++ Blocks

gerek
Télécharger la présentation

FILTERS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FILTERS Instructor: Dr.Collins CENG 5931 GNU Radio

  2. CONTENTS • Introduction • List of GNU Radio C++ Blocks • GNU Radio C++ Signal Processing Blocks • Filters • Classification of Filters • Classes • Functions • Examples • Conclusion • References

  3. INTRODUCTION • GNU Radio is a free software development toolkit that provides the signal processing runtime and processing blocks to implement software radios using readily-available, low-cost external RF hardware and commodity processors. • It is widely used in hobbyist, academic and commercial environments to support wireless communications research as well as to implement real-world radio systems. • GNU Radio applications are primarily written using the Python programming language.

  4. INTRODUCTION Cont.. • Python is a multi-paradigm programming language. Rather than forcing programmers to adopt a particular style of programming, it permits several styles. They are 1. Object-Oriented Programming 2. Structured Programming. • Python is often used as a scripting language, but is also used in a wide range of non-scripting contexts. • Python interpreters are available for many operating systems, and Python programs can be packaged into stand-alone executable code for many systems using various tools.

  5. Features of GNU Radio • Application : Software Radio • Operating System: Linux • Real time sampling frequency: 64 MS/s, 12-bit AD on USRP • DSP language: C++ • GUI host: Linux • GUI language: Python • Scripting language: Python

  6. List of GNU Radio C++ Blocks • GNU Radio C++ signal Processing Blocks • Digital Filter Design • Miscellaneous • Implementation Details • Applications ATSC Radar Pager • USRP (Universal Software Radio Peripheral) • USRP 2 • Gcell: Cell Broadband Engine SPE Scheduler & RPC Mechanism • Misc Hardware Control

  7. GNU Radio C++ Signal Processing Blocks • Top Block and Hierarchical Block Base Classes • Signal Sources • Signal Sinks • Filters • Mathematics • Signal Modulation • Signal Demodulation • Information Coding and Decoding • Synchronization • Equalization • Type Conversions • Signal Level Control(AGC) • Fourier Transform • Wavelet Transform • OFDM • Pager Blocks • Miscellaneous Blocks • Slicing and Dicing Streams • Voice Encoders and Decoders • Base Classes for GR Blocks

  8. Collaboration diagram for GNU Radio C++ Signal Processing Blocks

  9. Filters • In signal processing, a filter is a device or process that removes unwanted component or feature from a signal. • Filtering is a class of signal processing, the defining feature of filters being the complete or partial suppression of some aspect of the signal. • In general, it removes some frequencies in order to suppress interfering signals and reduce background noise.

  10. Classification of filters Filters are Classified into six categories • Analog or Digital Filter • Continuous or Discrete time sampled Filter • Linear or Non-Linear Filter • Time-Variant or Time-Invariant Filter • Active or Passive Filters • Finite impulse response(FIR) or Infinite impulse response(IIR) Filter

  11. Classes gr_adaptive_fir_ccf : • An adaptive filter is a filter that self-adjusts its transfer function according to an optimization algorithm driven by an error signal. • Because of the complexity of the optimization algorithms, most adaptive filters are digital filters. Inheritance diagram for gr_adaptive_fir_ccf

  12. gr_fft_filter_ccc: • Fast FFT filter with gr_complex input, gr_complex output and gr_complextaps. Inheritance diagram for gr_fft_filter_ccc

  13. gr_filter_delay_fc: • These block takes one or two float stream and outputs is a complex stream. • If only one float stream is input, the real output is a delayed version of this input and the imaginary output is the filtered output. • If two floats are connected to the input, then the real output is the delayed version of the first input, and the imaginary output is the filtered output. Inheritance diagram for gr_filter_delay_fc

  14. gr_fir_filter_ccc: • A finite impulse response (FIR) filter is a type of a signal processing filter whose impulse response is of finite duration, because it settles to zero in finite time. • This is in contrast to infinite impulse response(IIR) filters, which have internal feedback and may continue to respond indefinitely. The impulse response of an Nth-order discrete-time FIR filter lasts for N+1 samples. Inheritance diagram for gr_fir_filter_ccc

  15. gr_freq_xlating_fir_filter_ccc: • This class efficiently combines a frequency translation with a FIR filter and decimation. • It is ideally suited for a "channel selection filter" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input. Inheritance diagram for gr_freq_xlating_fir_filter_ccc

  16. gr_hilbert_fc: • real output is delayed input and imaginary output is hilbert filtered (90 degree phase shift) version of input. Inheritance diagram for gr_hilbert_fc

  17. gr_iir_filter_ffd: • An infinite impulse response (IIR) filter is a type of a signal processing filter whose impulse response is of infinite duration. • This is in contrast to finite impulse response(FIR) filters, which have internal feedback and may continue to respond definitely. • The impulse response of an Nth-order discrete-time IIR filter lasts for N+1 samples. Inheritance diagram for gr_iir_filter_ffd

  18. gr_interp_fir_filter_ccc: • An interpolating FIR filter is an optimized class of finite impulse response filter combined with an interpolator. Inheritance diagram for gr_interp_fir_filter_ccc

  19. Functions • intgr_adaptive_fir_ccf::work ( intnoutput_items, gr_vector_const_void_star& input_items, gr_vector_void_star& output_items ) • intgr_fft_filter_ccc::work ( intnoutput_items, gr_vector_const_void_star&  input_items, gr_vector_void_star&  output_items   ) • intgr_filter_delay_fc::work(intnoutput_items, gr_vector_const_void_star& input_items, gr_vector_void_star&  output_items )

  20. intgr_fir_filter_ccc::work ( intnoutput_items, gr_vector_const_void_star &   input_items, gr_vector_void_star &  output_items   ) • gr_freq_xlating_fir_filter_ccc::gr_freq_xlating_fir_filter_ccc ( int  decimation, const std::vector<gr_complex > &  taps, double  center_freq, double  sampling_freq ) • intgr_iir_filter_ffd::work ( intnoutput_items, gr_vector_const_void_star &   input_items, gr_vector_void_star &  output_items )

  21. Example of low pass filter: chan_filt_coeffs = optfir.low_pass (1, # gain usrp_rate, # sampling rate 80e3, # passband cutoff 115e3, # stopband cutoff 0.1, # passband ripple 60) # stopband attenuation

  22. Example of frequency translation filter #Decimating Channel filter with frequency translation self.ddc = gr.freq_xlating_fir_filter_ccf(if_decim, # decimation rate chan_coeffs, # taps 0, # frequency translation amount self.if_rate) # input sample rate

  23. Conclusion In this topic i discussed several kinds of blocks that are used in GNU python programming on c++ platform and also discussed different kinds of functions and classes that are used in GNU library to perform different types of filter operations .

  24. References • http://gnuradio.org/redmine/wiki/gnuradio • http://en.wikipedia.org/wiki/Filter_(signal_processing) • http://staff.washington.edu/jon/frameworks.html

  25. Thank you

More Related