EmbDev.net

Forum: FPGA, VHDL & Verilog Interleaver/deinterleaver VHDL


Author: Syed Imam (Company: uni) (si09aad)
Posted on:

Rate this post
0 useful
not useful
Hello,

Can anyone help me out in writting the VHDL code for interleaver and 
deinterleaver or if some one can guide me how to write it or its basics.
All i know that i have to declare ROM and RAM's , but how I have no 
idea.
Any type of favour or help will be highly appreciated.

Please any one help me out. Your help means alot to me.

THanks

Author: Klaus (Guest)
Posted on:

Rate this post
0 useful
not useful
Please read your post again. And imagine, you were someone else, who 
only knows what you have written.

Do you think anyone can give a helpful answer without knowing anything 
about what your problem is?

Author: Bolzenfresser (Guest)
Posted on:

Rate this post
0 useful
not useful
I also want interleaver quickly. I also have problems in writing code. 
Please help my urgently. Come to my office, analyse my problem and write 
code for me, so I can get good marks in school and become good engineer.

Author: berndl (Guest)
Posted on:

Rate this post
0 useful
not useful
here's the code:
toggle_proc: process (clk)
begin
  if rising_edge (clk) then
    interleave_controller_ff <= not interleave_controller_ff;
  end if;
end process;
interleave_proc: process (clk)
begin
  if rising_edge (clk) then
    if interleave_controller_ff = '0' then
      output_interleave_controller_1 <= signal_input;
    else
      output_interleave_controller_2 <= signal_input;
    end if;
  end if;
end process;
...and the deinterleaver:
deinterleave_proc: process (clk)
begin
  if rising_edge (clk) then
    if interleave_controller_ff = '1' then
      resulting_output_of_interleave_controller <=
        output_interleave_controller_1;
    else
      resulting_output_of_interleave_controller <=
        output_interleave_controller_2;
    end if;
  end if;
end process;
Note: Not yet simulated, but it may give you an idea...

Author: Bolzenfresser (Guest)
Posted on:

Rate this post
0 useful
not useful
thanks!

Author: Lothar Miller (lkmiller) (Moderator)
Posted on:

Rate this post
0 useful
not useful
Syed Imam wrote:
> Can anyone help me out in writting the VHDL code for interleaver and
> deinterleaver or if some one can guide me how to write it or its basics.
Sure somebody can. But:
What do you want to interleave (and subsequntly deinterleave)?
Whats the target platform?
What toolchain do you use?
Where does data come from?
Where does it go to?
What width has the data path?
What speed (bits/s or bytes/s) is desired?
May this be any kind of homework for school?

> All i know that i have to declare ROM and RAM's ,
So indeed you know much more than anybody else here!
Why don't you tell us a little bit more?

Author: Syed Imam (Company: uni) (si09aad)
Posted on:
Attached files:
  • preview image for 11.JPG
    11.JPG
    36.4 KB, 737 downloads
  • preview image for 2.JPG
    2.JPG
    55.2 KB, 444 downloads

Rate this post
0 useful
not useful
For LOTHAR MILLER
I GUESS NOW I HAVE TOLD WHAT IS MY TARGET PLATFORM? WHERE DOES DATA COME 
FROM AND WHERE DOES IT GO?

Interleaver (what is basically interleaver)
The main function of the interleaver is to prevent the data information 
to be affected by interference which, as shown below in fig(11), results 
in burst error in wireless transmission. Indeed, due to the interference 
and noise, chunks of data errors can be retrieved in the data streams 
after the air transmission. As the burst errors are spread out after the 
interleaving process, the detection of errors is easier. Thus more 
errors can be corrected; as a result, the Bit Error Rate can be reduced.

Interleaver (why i need ROM and RAM) as I said earlier
The process of interleaving is mainly achieved by the use of RAM 1, RAM 
2 1st permutation, and RAM 3. First, the RAM store the data stream in 
the same order as it receives them. Then, data are transmitted to the 
RAM 2 where they are stored at random address location defined by the 
ROM 1st permutation. The ROM 1st permutation is in fact executing the 
first permutation by giving the storing address in a manner which 
follows the equation of the first permutation defined earlier in the 
report.  Finally, the RAM 3 is working in the same way as RAM 2 but 
instead of receiving the storing addresses from ROM 1st permutation, it 
receives the addresses from ROM 3 which applies the permutation defined 
by the second equation of the standard as shown below in fig(2)

Author: Syed Imam (Company: uni) (si09aad)
Posted on:

Rate this post
0 useful
not useful
MY MAIN TASK IS TO GET THE DATA
lets suppose 1 byte data or any data in form of array
interleaver it and then de-interleaver so that it should recover any 
lost data due to noise

any type of help will be highly appreciated
thanks

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [vhdl]VHDL code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.