FIR filter using IP with Vivado

  Рет қаралды 16,959

Vahid Meghdadi

Vahid Meghdadi

Күн бұрын

Пікірлер: 56
@w8ryanb
@w8ryanb 3 жыл бұрын
Many thanks going through your process... exactly what I was looking for!
@vahidMeghdadi
@vahidMeghdadi 3 жыл бұрын
Happy to hear that :)
@wafaelhajhmida3863
@wafaelhajhmida3863 Жыл бұрын
Hi professor, I have just discovered your KZbin channel ! keep doing great work👏. Wafa your phd student
@vahidMeghdadi
@vahidMeghdadi Жыл бұрын
many thanks Wafa !!
@热血愤青
@热血愤青 3 жыл бұрын
Hi! If I want to display the magnitude response by Vivado, I want to know what I should do?
@tempusFugit1337
@tempusFugit1337 3 жыл бұрын
Hi, if i understand right you put a generated sine-wave in at JA-Pin and from there to XADC and from there into your FIR-Filter and from there to the output pin JB. But how you generate an analog signal from the output-bit-values of JB-Pin ? (Because filtered input Signal of Analog Discovery seems to be a sine wave too). Does Analog Discovery have a kind of DAC at input ? Greetings
@vahidMeghdadi
@vahidMeghdadi 3 жыл бұрын
Hi, yes in fact the JB signal is an 8-bit digital output. I used a simple 8-bit passive DAC from digilent (Pmod R2R: Resistor Ladder DAC).
@msaideroglu
@msaideroglu 3 жыл бұрын
Thanks for video. I guess you are using Analog Discovery tool of Digilent. Can I see your demo setup details? I need to do it also for an fir filter design.
@IlliaAZARKH
@IlliaAZARKH Жыл бұрын
I'll try to apply it to my testing code in LabVeiw, actually I have a proble with the output of the FIR, but I think the problem is a clock. Great video.
@Ankitsingh-my1vu
@Ankitsingh-my1vu Жыл бұрын
Hi did you solve your problem?
@IlliaAZARKH
@IlliaAZARKH Жыл бұрын
@@Ankitsingh-my1vu yes, the problem was in the parameters of the clock. Since 4 month I'm using it for my projet and it works great.
@Kianam2
@Kianam2 4 жыл бұрын
Incredible explanation 😊
@chankinw
@chankinw 3 жыл бұрын
Thanks for the explanations. It would be great if the amplitude of your voice was multiplied by 2. Could you please also run a demo on the IIR implementation?
@vahidMeghdadi
@vahidMeghdadi 3 жыл бұрын
Sorry about the voice. I will think about IIR, however the IIR filters are a little hard to implement in fixed-point with FPGA.
@ninaelizabethfarroaguilar6828
@ninaelizabethfarroaguilar6828 3 жыл бұрын
Hi, how do you configured the waveforms? I can't understand how to implement the vhdl code in waveforms to see the simulation. I hope you can answer me.
@vahidMeghdadi
@vahidMeghdadi 2 жыл бұрын
The waveforms is a driver for Discovery2 (from digilent see: digilent.com/shop/analog-discovery-2-100ms-s-usb-oscilloscope-logic-analyzer-and-variable-power-supply/). Actually it is not a simulation, but a simple real signal generator and an oscilloscope.
@annankldun4040
@annankldun4040 2 жыл бұрын
This video is awesome. Thank you!
@MonishaK-sh9bk
@MonishaK-sh9bk 7 ай бұрын
is there any simulation code for testing?
@brajkishorrajput9238
@brajkishorrajput9238 Жыл бұрын
please sir share programing in 3-tap FIR Filter comman used programming in used vivado software
@mohammedalshehri1593
@mohammedalshehri1593 2 жыл бұрын
Why did you make the input x as(16 bits) and the output is 8 bit? Why they arn't same?
@vahidMeghdadi
@vahidMeghdadi 2 жыл бұрын
Because had a simple 8-bit CNA :) However, I used 16 bits to improve the precision in the intermediate calculations.
@Bustoutfunk
@Bustoutfunk 4 жыл бұрын
At 3:15 you took the max value from Num and also multiplied Num by 512. What was the purpose of this? Why not just copy those original Num values into Vivado?
@vahidMeghdadi
@vahidMeghdadi 3 жыл бұрын
I needed the coeff on 7 bit. That's why I scale all the coef to have integers in the range [-63,63]. The range [-38,38] was selected arbitrary and you may scale by another factor.
@m1geo
@m1geo 3 жыл бұрын
@@vahidMeghdadi I, too, am confused here. Could you elaborate? Where is the requirement for 7 bit?
@vahidMeghdadi
@vahidMeghdadi 3 жыл бұрын
@@m1geo Actually there is no requirement, you should fix anyway the number of bits to something. In the normal applications (not too high quality) 5 to 7 bits are sufficient to represent the coefficients. All you must make sure, is that there is no overflow when you represent your data. I took 7 bits. So the coefficient dynamic can go from -64 to +63. Maybe, instead of scaling by 512, it is better to multiply all the coef by (value)/(max_value)*63 to have 7 bits.
@m1geo
@m1geo 3 жыл бұрын
@@vahidMeghdadi Very interesting! I have a been copy/pasting the scaled -1 to 1 values. The output is super distorted. I cannot work it out. The input signal is good, but the output is just distorted noise.
@annankldun4040
@annankldun4040 2 жыл бұрын
@@vahidMeghdadi why did you use 512 though? That is 2^9.
@miladdalim1
@miladdalim1 2 жыл бұрын
very useful thanks for the content
@gauravpurohit1234
@gauravpurohit1234 2 жыл бұрын
do we require any special license to use the Waveforms
@vahidMeghdadi
@vahidMeghdadi 2 жыл бұрын
No, waveform is free and downloadable from digilent, but you need the "discovery board" from digilent also.
@gauravpurohit1234
@gauravpurohit1234 2 жыл бұрын
@@vahidMeghdadi I am a little confused, Ok let me explain, You are taking two analog inputs ->via analog board->it goes to your experimental FPGA Board (how) -> how you are showing output waveforms. Please help me in this flow. The question is How does input go to FPGA (XADC) and come out to Waveforms?
@gauravpurohit1234
@gauravpurohit1234 2 жыл бұрын
Sorry * via Discovery Board
@vahidMeghdadi
@vahidMeghdadi 2 жыл бұрын
@@gauravpurohit1234 The analog output of discovery board is connected to the XADC of the Basys board, through JA(4) and JA(0) wires. The 8-bit digital output signal is connected to Digilent PMOD R2R, a simple DAC, through JB. You can take a look into www.unilim.fr/pages_perso/vahid/XADCinBasys3.html where more details can be found.
@gauravpurohit1234
@gauravpurohit1234 2 жыл бұрын
Many thanks Dr. Vahid. I am grateful for your urgent actions and help.
@bakeronews1
@bakeronews1 2 ай бұрын
I miss speaking French 😢. Thanks for the tutorial though.
@vahidMeghdadi
@vahidMeghdadi Ай бұрын
:))
@firashammad5775
@firashammad5775 3 жыл бұрын
Audio is bad,content is good but very hard to hear without an external speaker.
@anishchandran3653
@anishchandran3653 8 ай бұрын
Regret to say that the audio is too feeble to understand
@mubasheer5584
@mubasheer5584 3 жыл бұрын
It would be good if you had explained bit by bit so that the new learner like me would understand it better 🙄.
@brajkishorrajput9238
@brajkishorrajput9238 Жыл бұрын
plz sir share your any contact details
@Ankitsingh-my1vu
@Ankitsingh-my1vu Жыл бұрын
From where you got sampling frequency as 100khz
@vahidMeghdadi
@vahidMeghdadi Жыл бұрын
Hi Ankit, In the main prog, I have a process that divide the 100 MHz clk by 1000 to generate a 100 kHz signal, which is applied to convst.
@Ankitsingh-my1vu
@Ankitsingh-my1vu Жыл бұрын
@@vahidMeghdadi in my FPGA i have XADC which has sampling rate of 1MSPS than should i assign the sampling frequency of my FIR filter as 1MHZ ?or should fs be the internal clock of my FPGA in my case ?
@Ankitsingh-my1vu
@Ankitsingh-my1vu Жыл бұрын
@@vahidMeghdadi also i have one more question , what if my data is coming at every clock rising edge and not on xadc alone so what to assign to _s_axis_data_tvalid ?
@vahidMeghdadi
@vahidMeghdadi Жыл бұрын
@@Ankitsingh-my1vu As I understand from your question, in the FIR filter design, you should put the real sampling frequency, which is for you 1 MSPS. It is because the designer needs the ratio between clk frequency and sampling frequency to optimize the filter taps.
@vahidMeghdadi
@vahidMeghdadi Жыл бұрын
@@Ankitsingh-my1vu I think that it cannot work because the IP needs several clk cycles to compute the output, but I am not sure !
@MonishaK-sh9bk
@MonishaK-sh9bk 7 ай бұрын
Is there any simulation code for testing?
@vahidMeghdadi
@vahidMeghdadi 7 ай бұрын
No, sorry, I have not the simulation.
FIR Filter Design and Software Implementation - Phil's Lab #17
30:35
tutorial on Vivado XADC by creating an FIR filter on Basys 3
33:05
Vahid Meghdadi
Рет қаралды 10 М.
Mom had to stand up for the whole family!❤️😍😁
00:39
Я сделала самое маленькое в мире мороженое!
00:43
Миллионер | 2 - серия
16:04
Million Show
Рет қаралды 1,7 МЛН
FPGA and DSP ep. 1:Efficient parallel FIR filter implementation on FPGA
11:15
Using AXI DMA in Vivado
27:49
FPGA Developer
Рет қаралды 34 М.
Xilinx IP cores for DSP: CIC Compiler for decimation and Interpolation
10:30
Advanced Engineering Radar Systems
Рет қаралды 1,8 М.
9. Understanding Linear Phase - Digital Filter Basics
16:35
Akash Murthy
Рет қаралды 9 М.
Find ANYONE's GPS Location Using IPLogger
10:20
Maythom
Рет қаралды 508 М.
Designing FIR Filter with python and Vivado Verilog
15:58
Astronomy ,Science & Mystery research
Рет қаралды 338
[001] Sigrok and Logic Analyzers
1:12:06
OpenTechLab
Рет қаралды 218 М.
Mom had to stand up for the whole family!❤️😍😁
00:39