Using filter IIR to Serial I/O Tranceiver ARF 7429
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Please help me...
I have a final assignment to apply the filter IIR into a tranceiver ARF 7429, of course using serial I/O code into matlab GUI. My questions are:
1. Is it possible to apply the filter into my program that connected to the tranceiver? How can I do it?
2. Can you give example code for the matlab GUI?
3. I have searched the IIR filter program that needed passband and stopband. How can I receive this passband and stopband from the tranceiver?
thank you..
0 commentaires
Réponse acceptée
Walter Roberson
le 31 Mar 2011
I am not clear whether you are trying to filter samples whose numeric value happens to have been transported over RS232, or if you are trying to filter the bits that were received over RS232 and then you want the byte decoding to happen on the filtered bits, or if you are trying to filter the RS232 signal on the wire, before it goes to the transceiver for decoding?
I do not understand what you mean by receiving the passband and stopband from the transceiver? Do you mean you wish to be able to receive numeric values transported over RS232 and use those values as the filter coefficients, or do you mean you wish to be able to receive the numeric cutoff frequencies that were transported over RS232 and use those to design a filter, or something else?
Are you trying to do this in Simulink? Do you have the toolbox to design IIR filters?
4 commentaires
Walter Roberson
le 1 Avr 2011
There are a number of challenges to applying the filter to the received bits. Remember that RS232 serial does not use a clock signal, so you are unable to place the timing of the bits. RS232 requires a start bit, then sends the least significant bit first and through the rest of the byte, then a stop bit. Look at the bottom diagram here for the waveforms: http://www.lookrs232.com/rs232/waveforms.htm . Start bit is logic 0, stop bit is logic 1, and after a word there can be an indefinite wait for the next word with any apparent bits being ignored until the next start bit is seen. As there are limits on rate of voltage slew, the standard implicitly endorses holding the voltage steady if there are multiple bits the same in a row, rather than returning to ground and going back to the same value. There is no promise of a per-bit pulse. Voltages must exceed the negative threshold (go more negative) to be recognized as logic 1, and must exceed the positive threshold (go more positive) to be recognized as logic 0, with an intermediate voltage range that is not either bit.
If you were to be in idle state and were to get a transient that drive the line to the state required for the start bit, but the transient subsided and the line went idle before the stop bit time, the lack of bits should in theory be detected and a framing error should be detected and the word thrown away. Likewise if you fail to get the clear stop bit (which is opposite voltage to the start bit) then the misframing should be detected and the word thrown away. In practice, noise on the line _does_ create phantom characters... though possibly I am remembering times I was connected via a modem.
With the intra-word timing not fixed (not even ideally -- the line literally stays idle until the sender is ready to send something), and with the fact that words can be thrown away without notice (well unless you want to program your own serial drivers), you can see there is a mismatch in attempting to post-filter the received serial bits via an IIR filter. It could be a worse mismatch, I suppose, but trying to consider it as a bit stream and packing together bits from adjacent received words is not going to work because you don't know how many discarded words there were between bits you have available for processing.
You have lost so much information about the actual signal voltages and timing that I don't see how you could do any post IIR filtering in practice. You'd have better results packing the bits in to groups of words that incorporated ECC techniques.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Signal Generation and Preprocessing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!