Skip to content

danreilly/quanet_matlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matlab programs:

Top-level

txattn.m - Sets Bob's transmit attenuation, which determines the transmitted
        power of his pilots.
    Controls actual equipment using USB & TCPIP control.
    Written and used at Photon Summit.  

pol.m - Sweeps polarizer waveplates and chooses settings
        resulting in the highest recieved <I^2+Q^2> power.
    To be used during link setup.
    Controls actual equipment using USB & TCPIP control.
    Written and used at Photon Summit.
    
dsw.m - Delay Sweep.  Used when Alice synchronizes using a recovered clock.
        Initially, the phase relationship between the recoverd clock and her
        received pilots is unknown.  This sweeps the delay setting and measures
    the number of detected pilots vs delay.  It makes a plot and sets
    the "sync_dly" to the best setting.
    To be used during link setup.
    Controls actual equipment using USB & TCPIP control.
    Written and used at Photon Summit.

tsw.m - Threshold Sweep.
        Initially, the loss on the link is unknown, and the best correlation
    threshold for Alice to use when detecting pilots is unknown.  This
    sweeps the threshold and measures the number of detected pilots per 1024 frames.
    Ideally this number should be 1024. (though the counter saturates at
    1023).  This makes a plot and chooses a 
    To be used during link setup or after changing transmit power.
    Controls actual equipment using USB & TCPIP control.
    Written and used at Photon Summit.

p.m - general IQ samples file viewer.

rx.m - analyzes IQ sample files files for QSDC.
       Computes symbol error rate, Bit error rate (BER), and produces
   a file r_###_out.txt containing per-bit confidence metrics that could
   be used directly or perhaps be used to compute LLRs.  At the Photon
   Summit in DC, we demonstrated this program feeding the metrics into
   the Grand decoder.  Invoke it with the file number (as in "rx 63")
   to cause it to run in no-plot mode.

cdm.m - analyze IQ sample files for CDM (or CDW) (reflection/transmission tomography)

genhex.m   - Generates a hex file for HDL simulation from IQ sample file.
	         The HDL simulation testbench can read the hex file, and play
	 it into the quanet_adc.vhd and quanet_dac.vhd entities,
             Allowing you to do an in-depth simulation of QSDC reception
         on real-life data.

simcheck.m - When the HDL simulation runs, it produces a file called dmaout.txt
             containing all the 128-bit wide words DMAd to libiio (in hex).
             Simcheck.m reads this file, and reformats it into
	    quanet_matlab/log/d######/r_###_hdlout.txt
	 which containing per-bit confidence metrics in signed decimal.
	 This is similar to the r_###_out.txt file produced from
	 the Matlab rx.m program, and it too could be fed into the Grand decoder.
	 simcheck.m also compares the metrics against what was actually
	 transmitted, and computes and displays a BER.

im_preemp.m - calculate an IM preemphasis profile, stores result in a file
              that can be SCP'd to the zcu board, and written to the HDL
	  by "u init".

Calibration

cal_imbal.m - calibrate IQ imbalance cal_gas.m - measure HCN gaslines cal_gas_show.m - calculate gasline params and gen calibration file wcal.m - write gas calibration file to QNA

triggen - generates rom file for trigonometric lookup table. You feed it quo=min(|I|,|Q|)/MAG which can only range from 0 to 0.5 It returns approximate cos and sin values in fixed precision

Test

p2.m - analyze beat rp.m - plot data captured from Red Pitaya board beat.m - measure beat from QNA

t1.m - effect of LO power on noise t2.m - sensitiviy vs sig pwr with & wo connet amp t3.m - junk t5.m - exploration of lorentzian fit t6.m - fourier transform of lorentz

t8.m - illustrative plots of modulation signals t9.m - simulate pwr det by red pitaya. t10.m - illustrative plot of phase detector out

Helper functions

calc_*

Batch file utilities:

g.bat - get capture file from zcu106 rpg.bat - get capture file from Red Pitaya

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages