<< Chapter < Page | Chapter >> Page > |
Why, you might ask, did we implement our system by using a sampled analog waveform as the input rather than an arbitrary bit stream? First, it allowed us to actaully see and hear the errors introduced by a noisy channel, rather than just having a tally of the bit errors. Second, we found it motivational to have a visible goal (i.e. the input waveform) to shoot for as we watched our results improved with every version of our code. Finally, it gave us more experience coding and lets us put these nifty plots in this module, which helps constrast the encoded time-domain plots seen in other subsystems with a real speech signal.
The A/D converter in our system takes in a MATLAB vector corresponding to a sampled analog signal and converts it to a bit stream. This is a two step process: quantization and bit assignment. In quantization , the amplitude axis of the input signal is broken up into 2^B levels and each sample is rounded to the nearest level. Each level is assigned a B -bit binary number, so the length Q input vector of samples is mapped to a length BQ bitstream. Below are figures of the input and quantized input waveforms.
The D/A converter in our system performs the inverse operation of the A/D converter: it takes in a MATLAB bitsream and converts it to sampled analog signal. Here, it is only a one step process: since we performed B -bit A/D conversion, we assign each block of B bits the original associated quantization level. There is an implicit error induced in D/A conversion due to quantization: since we originally rounded the sampled points to the nearest level, the information regarding their exact values is lost. This is called quantization error . However, with a speech waveform, a 4-bit (16 quantization level) approximation of the signal sounds reasonably close to the real thing. To actually see how well our output signal matched up with our input, we compared it with a quantized version of the input waveform.
Other sources for information about A/D conversion: Amplitude Quantization
Our related MATLAB functions:
a2d.m
,
d2a.m
Home | Previous: Implementation | Next: Serial/Parallel, Parallel/Serial
Notification Switch
Would you like to follow the 'Ece 301 projects fall 2003' conversation and receive update notifications?