Signal Processing and Communications
Signal Processing and Communications
Key Takeaways
Quickly analyze and develop new algorithms with MATLAB
With MATLAB and Simulink you can quickly design entire systems with better performance
Motivations
Quickly analyze and develop new algorithms with MATLAB
>> Evaluating innovative ideas is time-consuming
With MATLAB and Simulink you can quickly design entire systems with better performance
>> Optimizing the tradeoff between reuse and innovation is challenging
During implementation:
How can I minimize cost? Which filter structure will be optimal? Will it work correctly on the target hardware? What can I trade off?
Implement filters using various filter architectures Visualize filter response Export MATLAB filters into Simulink for system-level simulation
7+1=8: 7 bit word length & 5 fractional bits Range =[-4 3.9688) Step = 1/32
10
Accelerate execution of fixed-point code System objects for more fixed-point functions
11
Typical applications
Communications simulation Audio / video processing Data acquisition
14
15
Filtering in MATLAB
filename = music.wav'; [audio Fs] = wavread(filename); filt = fir1(40, 0.8, 'high'); audiofilt = filter(filt,1,audio); wavplay(audiofilt,Fs);
Must wait for all data to be processed before listening to results Loads entire dataset into workspace
audio data uses more space than needed (double vs. uint16) Overall, code uses several copies of the audio dataset in memory
16
Explicit state management requires programmer to manage details that should be implicit
Indexing is tedious and %% Processing in the loop error prone index= 1; while index < (num_samples-frame_size+1) data = wavread(filename,[index index+frame_size-1]); [datafilt, zLP] = filter(bLP,1,data,zLP); output(index:index+frame_size-1) = datafilt; index = index + frame_size; end Need to maintain output buffer wavplay(output,Fs); because wavplay requires all data before being called
17
Initialize objects
Many ways to set object properties Source and FIR filter states are implicit Audio player runs in-the-loop with the current frame, avoiding lengthy buffer
18
No management of indexing
Batch Processing
Load the entire video file and process it all at once
MATLAB
Source
19 19
Stream Source
Stream Processing
20
Stream Source
Stream Processing
21
22
Fixed-point modeling
All relevant objects support fixed-point data types Compatible with Fixed-Point Toolbox
C-code generation
Most objects support code generation using EMLC Compatible with Embedded MATLAB
23
24
25
Complex timing:
Continuous and discrete timing Feedback loops Threshold crossing Asynchronous behavior Concurrent paths
26
27
29
30
Linear elements are modeled with baseband-complex equivalent descriptions Nonlinear elements are described by means of (static) AM/AM AM/PM characteristics Elements are cascaded for fast single carrier simulations in the time domain
31
MHz GHz 0
fc Bandwidth = 1/Ts
frequency
+0.5/Ts
time
32
33
MHz GHz 0
fc1
fc2 frequency
Circuit-envelope analysis
MHz GHz 0
fc2-fc1
fc1
fc2
fc2+fc1 frequency
fc2+fc1 frequency
34
35
36
Design and Implement Signal Processing Systems with MATLAB and Simulink
Algorithm design Fast simulation Architecture exploration Targeting implementation Verification and testing Rapid prototyping
37
Conclusions
Quickly analyze and develop new algorithms with MATLAB
With MATLAB and Simulink you can quickly design entire systems with better performance
38