AD9361
Recommended for New Designs
The AD9361 is a high performance, highly integrated radio
frequency (RF) Agile Transceiverâ„¢ designed for use in 3G and
4G base station applications....
Datasheet
AD9361 on Analog.com
AD9364
Recommended for New Designs
The AD9364 is a 1 x 1 channel high performance, highly integrated RF Agile Transceiver™. Its programmability and wideband capability make it ideal for...
Datasheet
AD9364 on Analog.com
Hello everyone!
I have been working with fastlock profile and I wanted to use more than 8 profile to hope the frequency.now i'm able to recall 8 profile,but i'm not getting what to do if I wanted to use more than 8 profile as i'm using your --> ad9361_fastlock_save(phy, 1, profile, values); function to save more that 8 profile. if i'm going to use more than 8 frequency then while recalling only last 8 frequency are coming instead of that I want continuous chian.
my sequence of execution is : set_lo_tx --> store --> load --> save --> recall
Hi
Before posting this doubt I have gone through above link , but still I need clarity about the procedure . Can you please help me with a example code which will help me to set more than 8 profiles.
Thanks in advance
regards,
Attached is the code for setting more than 8 profiles:
cd /sys/bus/iio/devices/iio\:device1/ pwd for i in {1..8..1} do echo $((650000000 + $i * 100000000)) > out_altvoltage1_TX_LO_frequency sleep 0.1 echo $i > out_altvoltage1_TX_LO_fastlock_store echo $i > out_altvoltage1_TX_LO_fastlock_save cat out_altvoltage1_TX_LO_fastlock_save cat out_altvoltage1_TX_LO_frequency done for i in {9..16..1} do echo $((1000000000 + $i * 200000000)) > out_altvoltage1_TX_LO_frequency echo $i > out_altvoltage1_TX_LO_fastlock_store echo $i > out_altvoltage1_TX_LO_fastlock_save cat out_altvoltage1_TX_LO_fastlock_save cat out_altvoltage1_TX_LO_frequency done echo 1 150,0,0,0,0,65,23,7,238,85,111,221,115,252,12,160 > out_altvoltage1_TX_LO_fastlock_load echo 2 85,0,0,0,0,114,31,15,238,85,111,221,114,221,43,183 > out_altvoltage1_TX_LO_fastlock_load echo 3 95,0,0,0,0,113,16,16,238,85,111,221,114,204,217,166 > out_altvoltage1_TX_LO_fastlock_load echo 4 105,0,0,0,0,113,31,15,238,85,127,221,114,204,154,176 > out_altvoltage1_TX_LO_fastlock_load echo 5 115,0,0,0,0,97,29,13,238,85,111,221,114,204,108,192 > out_altvoltage1_TX_LO_fastlock_load echo 6 125,0,0,0,0,97,27,11,238,85,111,221,114,236,73,160 > out_altvoltage1_TX_LO_fastlock_load echo 7 135,0,0,0,0,65,25,9,238,85,111,221,114,252,44,198 > out_altvoltage1_TX_LO_fastlock_load echo 8 145,0,0,0,0,65,23,7,238,68,110,238,114,252,22,166 > out_altvoltage1_TX_LO_fastlock_load echo "recalling first 8 profiles" for i in {1..8..1} do echo $i > out_altvoltage1_TX_LO_fastlock_recall cat out_altvoltage1_TX_LO_frequency done echo 9 140,0,0,0,0,65,24,8,238,85,110,221,113,252,32,192 > out_altvoltage1_TX_LO_fastlock_load echo 10 150,0,0,0,0,65,23,7,238,85,111,221,113,252,12,160 > out_altvoltage1_TX_LO_fastlock_load echo 11 80,0,0,0,0,114,31,15,238,85,111,221,112,253,99,163 > out_altvoltage1_TX_LO_fastlock_load echo 12 85,0,0,0,0,114,31,15,238,85,111,221,112,221,43,18 > out_altvoltage1_TX_LO_fastlock_load echo 13 90,0,0,0,0,114,30,14,238,85,111,221,112,237,253,1824 > out_altvoltage1_TX_LO_fastlock_load echo 14 95,0,0,0,0,113,16,16,238,85,111,221,112,204,217,166 > out_altvoltage1_TX_LO_fastlock_load echo 15 100,0,0,0,0,113,31,15,238,85,111,221,112,204,183,176 > out_altvoltage1_TX_LO_fastlock_load echo 16 105,0,0,0,0,113,31,15,238,85,127,221,112,204,155,176 > out_altvoltage1_TX_LO_fastlock_load echo "recalling 9-16 profiles" for i in {9..16..1} do echo $i > out_altvoltage1_TX_LO_fastlock_recall cat out_altvoltage1_TX_LO_frequency done
Thank you so much!
I got the point.
when I use the above code for more than 8 profiles, the recall function didn't give the set profile. I am going to attach the bash script and result below. Please guide:
cd /sys/bus/iio/devices/iio\:device1/
pwd
for i in {1..8..1}
do
echo $((100000000+ $i * 25000000)) > out_altvoltage1_TX_LO_frequency
sleep 0.1
echo $i > out_altvoltage1_TX_LO_fastlock_store
echo $i > out_altvoltage1_TX_LO_fastlock_save
cat out_altvoltage1_TX_LO_fastlock_save
cat out_altvoltage1_TX_LO_frequency
done
for i in {9..16..1}
do
echo $((325000000 + $i * 25000000)) > out_altvoltage1_TX_LO_frequency
echo $i > out_altvoltage1_TX_LO_fastlock_store
echo $i > out_altvoltage1_TX_LO_fastlock_save
cat out_altvoltage1_TX_LO_fastlock_save
cat out_altvoltage1_TX_LO_frequency
done
echo 1 150,0,0,0,0,65,23,7,238,85,111,221,115,252,12,160 > out_altvoltage1_TX_LO_fastlock_load
echo 2 85,0,0,0,0,114,31,15,238,85,111,221,114,221,43,183 > out_altvoltage1_TX_LO_fastlock_load
echo 3 95,0,0,0,0,113,16,16,238,85,111,221,114,204,217,166 > out_altvoltage1_TX_LO_fastlock_load
echo 4 105,0,0,0,0,113,31,15,238,85,127,221,114,204,154,176 > out_altvoltage1_TX_LO_fastlock_load
echo 5 115,0,0,0,0,97,29,13,238,85,111,221,114,204,108,192 > out_altvoltage1_TX_LO_fastlock_load
echo 6 125,0,0,0,0,97,27,11,238,85,111,221,114,236,73,160 > out_altvoltage1_TX_LO_fastlock_load
echo 7 135,0,0,0,0,65,25,9,238,85,111,221,114,252,44,198 > out_altvoltage1_TX_LO_fastlock_load
echo 8 145,0,0,0,0,65,23,7,238,68,110,238,114,252,22,166 > out_altvoltage1_TX_LO_fastlock_load
echo "recalling first 8 profiles"
for i in {1..8..1}
do
echo $i > out_altvoltage1_TX_LO_fastlock_recall
cat out_altvoltage1_TX_LO_frequency
done
echo 9 140,0,0,0,0,65,24,8,238,85,110,221,113,252,32,192 > out_altvoltage1_TX_LO_fastlock_load
echo 10 150,0,0,0,0,65,23,7,238,85,111,221,113,252,12,160 > out_altvoltage1_TX_LO_fastlock_load
echo 11 80,0,0,0,0,114,31,15,238,85,111,221,112,253,99,163 > out_altvoltage1_TX_LO_fastlock_load
echo 12 85,0,0,0,0,114,31,15,238,85,111,221,112,221,43,18 > out_altvoltage1_TX_LO_fastlock_load
echo 13 90,0,0,0,0,114,30,14,238,85,111,221,112,237,253,1824 > out_altvoltage1_TX_LO_fastlock_load
echo 14 95,0,0,0,0,113,16,16,238,85,111,221,112,204,217,166 > out_altvoltage1_TX_LO_fastlock_load
echo 15 100,0,0,0,0,113,31,15,238,85,111,221,112,204,183,176 > out_altvoltage1_TX_LO_fastlock_load
echo 16 105,0,0,0,0,113,31,15,238,85,127,221,112,204,155,176 > out_altvoltage1_TX_LO_fastlock_load
echo "recalling 9-16 profiles"
for i in {9..16..1}
do
echo $i > out_altvoltage1_TX_LO_fastlock_recall
cat out_altvoltage1_TX_LO_frequency
done
You need to copy the printed saved profiles into the corresponding load API's.
For ex; in the above picture, the first highlighted text corresponds to the first profile, the second one corresponds to the second profile and so on. You need to use the same in the load functions
thankyou for your kind response! I got the desired profiles but when I check the results on the spectrum analyzer it shows any random profile in these 16 but I want to get all the profiles .how it would be possible?
thankyou for your kind response! I got the desired profiles but when I check the results on the spectrum analyzer it shows any random profile in these 16 but I want to get all the profiles .how it would be possible?
do
echo $i > out_altvoltage1_TX_LO_fastlock_recall
cat out_altvoltage1_TX_LO_frequency
done
Using this part of the code, the profiles are recalled one by one and its corresponding LO frequencies are set for the chip. You can add sleep of 1 sec within the loop, so that you can see the LO frequency corresponding to all the 16 profiles in your spectrum analyzer(without a wait period of 1sec, its sweeps very fast and spectrum is not able to capture that)
If you want to recall a single profile say 9th profile then get out of the loop and do:
echo 9 > out_altvoltage1_TX_LO_fastlock_recall
cat out_altvoltage1_TX_LO_frequency
thankyou for your response. I have made the necessary changes but still didn't get all the Los. let's suppose, I am covering a band from 100MHZ to 800MHZ when I see results on the spectrum analyzer I obtained Los at 125,275, 375,425,575,625,875. The profile setting script is given below. please guide, I want all the 16 profiles at the spectrum analyzer.
cd /sys/bus/iio/devices/iio\:device1/
pwd
for i in {1..8..1}
do
echo $((75000000 + $i * 50000000)) > out_altvoltage1_TX_LO_frequency
echo $i > out_altvoltage1_TX_LO_fastlock_store
echo $i > out_altvoltage1_TX_LO_fastlock_save
cat out_altvoltage1_TX_LO_fastlock_save
cat out_altvoltage1_TX_LO_frequency
done
for i in {9..16..1}
do
echo $((75000000 + $i * 50000000)) > out_altvoltage1_TX_LO_frequency
echo $i > out_altvoltage1_TX_LO_fastlock_store
echo $i > out_altvoltage1_TX_LO_fastlock_save
cat out_altvoltage1_TX_LO_fastlock_save
cat out_altvoltage1_TX_LO_frequency
done
echo 1 100,0,0,0,0,113,31,15,238,85,111,221,117,204,180,176> out_altvoltage1_TX_LO_fastlock_load
echo 2 140,0,0,0,0,65,24,8,238,85,110,221,117,252,33,180> out_altvoltage1_TX_LO_fastlock_load
echo 3 90,0,0,0,0,114,30,14,238,85,111,221,116,237,249,182> out_altvoltage1_TX_LO_fastlock_load
echo 4 110,0,0,0,0,113,29,13,238,85,111,221,116,204,129,162> out_altvoltage1_TX_LO_fastlock_load
echo 5 130,0,0,0,0,97,26,10,238,85,111,221,116,252,57,150> out_altvoltage1_TX_LO_fastlock_load
echo 6 150,0,0,0,0,65,23,7,238,85,111,221,116,252,12,150> out_altvoltage1_TX_LO_fastlock_load
echo 7 85,0,0,0,0,114,31,15,238,85,111,221,115,221,38,1832> out_altvoltage1_TX_LO_fastlock_load
echo 8 95,0,0,0,0,113,16,16,238,85,111,221,115,204,213,166> out_altvoltage1_TX_LO_fastlock_load
echo "recalling first 8 profiles"
for i in {1..8..1}
do
sleep 1
echo $i > out_altvoltage1_TX_LO_fastlock_recall
cat out_altvoltage1_TX_LO_frequency
done
echo 9 105,0,0,0,0,113,31,15,238,85,127,221,115,204,152,176> out_altvoltage1_TX_LO_fastlock_load
echo 10 115,0,0,0,0,97,29,13,238,85,111,221,115,204,107,192> out_altvoltage1_TX_LO_fastlock_load
echo 11 125,0,0,0,0,97,27,11,238,85,111,221,115,236,73,160> out_altvoltage1_TX_LO_fastlock_load
echo 12 135,0,0,0,0,65,25,9,238,85,111,221,115,252,44,194> out_altvoltage1_TX_LO_fastlock_load
echo 13 145,0,0,0,0,65,23,7,238,68,110,238,115,252,22,160> out_altvoltage1_TX_LO_fastlock_load
echo 14 77,0,249,255,63,114,31,15,238,85,111,221,114,253,122,151> out_altvoltage1_TX_LO_fastlock_load
echo 15 82,0,249,255,63,114,31,15,238,85,111,221,114,221,64,167 > out_altvoltage1_TX_LO_fastlock_load
echo 16 87,0,249,255,63,113,27,19,238,85,111,221,114,206,14,193> out_altvoltage1_TX_LO_fastlock_load
echo "recalling 9-16 profiles"
for i in {9..16..1}
do
sleep 1
echo $i > out_altvoltage1_TX_LO_fastlock_recall
cat out_altvoltage1_TX_LO_frequency
done
While recalling the first 8 profiles, donot do it in a loop(delete the highlighted lines). Instead recall each profile one by one from 1 to 8 manually using below and see the output in spectrum analyzer for each change
echo 1 > out_altvoltage1_TX_LO_fastlock_recall
Similarly recall each profile for 9 to 16 manually and see the output in spectrum