17.01.2013 Views

channel - Advances in Electronics and Telecommunications

channel - Advances in Electronics and Telecommunications

channel - Advances in Electronics and Telecommunications

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

80 ADVANCES IN ELECTRONICS AND TELECOMMUNICATIONS, VOL. 1, NO. 1, APRIL 2010<br />

Please note that, <strong>in</strong> the future, any other tools provid<strong>in</strong>g such<br />

extended features, concern<strong>in</strong>g the presented goals compared<br />

to SynDEx, would be worth to be considered. Moreover, this<br />

methodology could be also exp<strong>and</strong>ed at the top of the design<br />

flow, towards higher level design tools based on UML. The<br />

<strong>in</strong>put graphs from SynDEx could easily be generated from<br />

previous graphs def<strong>in</strong>ed <strong>in</strong> a UML environment. A bridge<br />

between A3S graphs <strong>and</strong> SynDEx graphs for <strong>in</strong>stance would<br />

be straightforward. SynDEx would then only take the tim<strong>in</strong>g<br />

non-functional parameter from A3S. The other non functional<br />

parameters (power consumption, memory <strong>and</strong> surface considerations)<br />

taken <strong>in</strong>to account <strong>in</strong> A3S would not be used <strong>in</strong> the<br />

mapp<strong>in</strong>g process itself but would at least have been considered<br />

at the very beg<strong>in</strong>n<strong>in</strong>g of the design, which is better than<br />

noth<strong>in</strong>g. Of course, the long term goal is to really <strong>in</strong>tegrate all<br />

non-functional parameters <strong>in</strong> the complete design flow.<br />

VI. DESIGN EXAMPLES (IMPLEMENTATION)<br />

Whatever the methodology is, the necessary SDR development<br />

efforts are, on one h<strong>and</strong>, the cod<strong>in</strong>g of an application <strong>in</strong><br />

order to simulate <strong>and</strong> validate the correct radio functionality,<br />

<strong>and</strong> on the other h<strong>and</strong>, the cod<strong>in</strong>g of a low level software<br />

associated with the hardware components <strong>in</strong> order to prototype<br />

the radio on the platform. The lack of methodology results <strong>in</strong><br />

the repetition of this process from scratch for each new design.<br />

This is the current SDR doma<strong>in</strong> situation.<br />

The methodology suggested <strong>in</strong> this paper permits to share<br />

development efforts for both:<br />

- radio signal process<strong>in</strong>g IPs,<br />

- low level software of hardware architecture.<br />

This is the ma<strong>in</strong> cause of the acceleration of the methodology;<br />

together with a set of concepts particularly adequate<br />

for SDR design <strong>and</strong> expla<strong>in</strong>ed earlier. We suggest <strong>in</strong> the<br />

follow<strong>in</strong>g paragraphs to illustrate the methodology efficiency<br />

<strong>in</strong> various design scenarii. Please note that it will be illustrated<br />

that SDR design is tackled <strong>in</strong> its widest acceptation here.<br />

This <strong>in</strong>volves also cross-layer design, as PHY (radio) layer,<br />

as well as application (video) layer may be merged with<br />

the proposed design approach. This proves also the relevance<br />

of the approach for general heterogeneous embedded design<br />

outside SDR.<br />

A. Start<strong>in</strong>g from scratch<br />

Our first attempt to develop an SDR is as simple as a<br />

broadcast FM receiver development. This is a play activity<br />

for a hundred percent software radio implementation, s<strong>in</strong>ce<br />

the antenna is directly connected to the analogue to digital<br />

converter. The selected platform is a Pentek P4292 made<br />

of four TMS320C6203 DSPs. All this process<strong>in</strong>g power is<br />

much greater than necessary, <strong>and</strong> is only used to evaluate<br />

the methodology <strong>in</strong> a multi-process<strong>in</strong>g context. First of all,<br />

the work consists <strong>in</strong> develop<strong>in</strong>g the FM receiver data-flow<br />

graph with a component based approach, <strong>and</strong> the fixed-po<strong>in</strong>t<br />

C language code for the content of each IP. This represents<br />

a time period rang<strong>in</strong>g from a few days to a couple of weeks<br />

of work at the most, depend<strong>in</strong>g on the previous knowledge of<br />

the modulation, the receiver quality (stereo or mono, choice<br />

High level description of FM demodulation<br />

<strong>in</strong>put<br />

Coef_filter<br />

trans_FIR1<br />

Acquisition<br />

<strong>in</strong><br />

base b<strong>and</strong><br />

ADC_acquisition<br />

FIR1<br />

FIR2<br />

SIN_TBL<br />

s<strong>in</strong>_tbl<br />

Hierarchical graph<br />

<strong>in</strong>side FM demodulation<br />

o<br />

Coef_filter1<br />

Coef_filter2<br />

Constants<br />

Downsampl<strong>in</strong>g<br />

filter<strong>in</strong>g<br />

to 441kbps<br />

FIR1<br />

<strong>in</strong>put output<br />

Coef_filter<br />

trans_o1<br />

trans_i1<br />

diff_state<br />

Frequency acquisition<br />

ACQ_frequency<br />

xsc_P C<br />

Cordic<br />

Cordic<br />

trans_FIR1<br />

VP<br />

o<br />

FM Demodulation<br />

FM_data<br />

constra<strong>in</strong>_DSP1<br />

<strong>in</strong>put<br />

chA<br />

trans_FIR1 trans_FIR1<br />

Coef_filter1 diff_state<br />

diff_state state_chA<br />

state_chA LplusR<br />

LplusR Lm<strong>in</strong>usR<br />

Coef_filter2 chB<br />

Lm<strong>in</strong>usR state_chB<br />

state_chB<br />

Vp<br />

s<strong>in</strong>_tbl<br />

Vp<br />

Phi<br />

Phi<br />

diff_state<br />

constra<strong>in</strong>_DSP1<br />

LplusR<br />

Coef_filter2<br />

<strong>in</strong>put output<br />

diff_state diff_state<br />

i o<br />

LplusR<br />

i o<br />

trans_FIR1<br />

constra<strong>in</strong>_DSP1<br />

i o<br />

MEM_chA<br />

constra<strong>in</strong>_DSP1<br />

i o<br />

Lm<strong>in</strong>usR<br />

Phi<br />

Vp<br />

s<strong>in</strong>_tbl<br />

PHI<br />

diff_state<br />

Downsampl<strong>in</strong>g<br />

filetr<strong>in</strong>g<br />

to 44.1kbps L+R<br />

GetLplusR<br />

Coef_filter2 output<br />

<strong>in</strong>put trans_o<br />

trans_i<br />

Downsampl<strong>in</strong>g<br />

filetr<strong>in</strong>g<br />

to 44.1kbps L-R<br />

GetLm<strong>in</strong>usR<br />

Coef_filter2 trans_o<br />

trans_i output<br />

<strong>in</strong>put Vp_o<br />

s<strong>in</strong>_tbl phi_o<br />

Vp_i<br />

phi_i<br />

<strong>in</strong>terleav<strong>in</strong>g<br />

xsc_PC<br />

<strong>in</strong>1<br />

<strong>in</strong>2<br />

Lm<strong>in</strong>usR<br />

i o<br />

MEM_chB<br />

i o<br />

i o i o<br />

Delay between iteration<br />

Interleav<strong>in</strong>g<br />

left <strong>and</strong> right<br />

<strong>channel</strong>s<br />

Fig. 14. SynDEx FM receiver application graph.<br />

LplusR<br />

state_chA<br />

Demux<br />

Left <strong>channel</strong><br />

Right <strong>channel</strong><br />

fm_demix<br />

A<br />

B<br />

out<br />

Lm<strong>in</strong>usR<br />

Phi<br />

Vp<br />

L<br />

R<br />

state_chB<br />

Deemphasis<br />

of 3dB on the<br />

left <strong>channel</strong><br />

demphasis<br />

chA<br />

<strong>in</strong>put<br />

state_i<br />

ADC_Freq<br />

constra<strong>in</strong>_DSP1<br />

o<br />

Stereo<br />

soundcard<br />

Soundcard_stereo<br />

i1<br />

output<br />

state_o<br />

Deemphasis<br />

of 3dB on the<br />

right <strong>channel</strong><br />

demphasis<br />

chB<br />

<strong>in</strong>put output<br />

state_i state_o<br />

chA<br />

state_chA<br />

chB<br />

state_chB<br />

of demodulation algorithm, etc.). This can be done on a first<br />

hardware platform architecture made of one PC, which is<br />

available by default <strong>in</strong> SynDEx.<br />

Secondly, low level software for the HW component support<br />

are generated for the Pentek platform <strong>and</strong> gathered <strong>in</strong> libraries.<br />

This concern all the specific primitives, which address<br />

synchronisations <strong>and</strong> threads for the C6203, as well as the<br />

communications dedicated to the platform FIFO . This may<br />

take several weeks, but less than 2 months <strong>and</strong> <strong>in</strong>cludes M4<br />

learn<strong>in</strong>g.<br />

It is not at this stage that the methodology allows to ga<strong>in</strong><br />

anyth<strong>in</strong>g, s<strong>in</strong>ce this prelim<strong>in</strong>ary work is always necessary.<br />

However, as the design steps are very well identified <strong>and</strong> separated<br />

<strong>in</strong> the methodology, this is already helpful <strong>and</strong> enables<br />

to save time. The work can also be easily separated between<br />

two designers, one signal process<strong>in</strong>g designer for the software<br />

application (FM) <strong>and</strong> one for the platform software support

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!