<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 07/25/2017 08:43 AM, olivani via
      USRP-users wrote:<br>
    </div>
    <blockquote
cite="mid:CABq0Viz-cdQEsg2rWjLqvi1kMPU_c+R95h632HgW6koPXzhKbw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Hi ,</div>
        <div><br>
        </div>
        <div>
          <div>Let me first describe my application </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>I have to collected data (type short, wirefmt sc16) at a
            particular center frequency at a sampling rate of 25 Msps
            and set the bandwidth to be 20 MHz and the master clock is
            set to be 25 MHz. I have a custom fpga to detect the
            presence of unwanted signal within the 20 MHz bw of data
            collected .</div>
          <div><br>
          </div>
          <div>I am using rx_samples_to_file script to collect data . I
            assume that when I plot the data ,, any tone below -10MHz
            and beyond +10 MHz should be discarded.</div>
          <div><br>
          </div>
          <div>But when I used the script ./rx_samples_to_file I noticed
            that the data collected is equal to the sample rate
            specified and when plotted using pwelch function with bin
            size 512  I still see the tone after 20 MHz bw. </div>
          <div><br>
          </div>
          <div>/usr/lib/uhd/examples/rx_<wbr>samples_to_file --file
            /dev/test_5bw_20msps_1 --subdev A:A
            --args="type=e3x0,master_<wbr>clock_rate=25e6"   --bw 20e6
            --freq 110e6 --rate 25e6 --duration 1  --stats </div>
          <div><br>
          </div>
          <div>as per input parameter specified above I set the centre
            frequency at 110 MHz and have injected a tone at 122.5 MHz
            and set the BW to be 20 MHz. I assumed the tone should not
            be visible , but unfortunately it does. </div>
          <div><br>
          </div>
          <div>This may lead to faulty detection in my application. </div>
          <div><br>
          </div>
          <div>1. I added debug statements to see if at all the bw
            setting  code is executed and it does.</div>
          <div>2. I varied the bandwidth to be 5 MHz and I am able to
            see the roll off and also the tone.</div>
          <div><br>
          </div>
          <div>Please find the plot below for the above input command</div>
          <div><br>
          </div>
          <div><img class="gmail-CToWUd gmail-a6T" alt="Inline image 1"
              src="cid:part1.09090709.07010702@ripnet.com" height="399"
              width="534"></div>
          <div><br>
          </div>
          <div>Now setting the bandwidth to 5 MHz for verification
            purpose<img class="gmail-CToWUd gmail-a6T" alt="Inline image
              2" src="cid:part2.03060608.05020708@ripnet.com"
              height="360" width="534"></div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>The code snippet used to plot the data in matlab as
            follows</div>
          <div>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2">binary_file = </font></font><font
                color="#a020f0" face="Courier New" size="2"><font
                  color="#a020f0" face="Courier New" size="2"><font
                    color="#a020f0" face="Courier New" size="2">'\\fargo\projects\wls\staging\<wbr>subbuku-o\test_5bw_20msps_1'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">;</font></font><font color="#228b22"
                face="Courier New" size="2"><font color="#228b22"
                  face="Courier New" size="2"><font color="#228b22"
                    face="Courier New" size="2">%<wbr>./rx_samples_to_file
                    --file /dev/test_5bw_20msps_2 --subdev A:B
                    --args="type=e3x0,master_<wbr>clock_rate=50e6" --bw
                    20e6 --freq 110e6 --rate 25e6 --duration 1 --stats</font></font></font></p>
            <p><font color="#0000ff" face="Courier New" size="2"><font
                  color="#0000ff" face="Courier New" size="2"><font
                    color="#0000ff" face="Courier New" size="2">if</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2"> ~exist(</font></font><font color="#a020f0"
                face="Courier New" size="2"><font color="#a020f0"
                  face="Courier New" size="2"><font color="#a020f0"
                    face="Courier New" size="2">'plotOn'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">, </font></font><font color="#a020f0"
                face="Courier New" size="2"><font color="#a020f0"
                  face="Courier New" size="2"><font color="#a020f0"
                    face="Courier New" size="2">'var'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">) || isempty(plotOn)</font></font></p>
            <font face="Courier New" size="2"><font face="Courier New"
                size="2">
                <p> plotOn = 1;</p>
              </font></font><font color="#0000ff" face="Courier New"
              size="2"><font color="#0000ff" face="Courier New" size="2"><font
                  color="#0000ff" face="Courier New" size="2">
                  <p>end</p>
                </font></font></font>
            <p><font color="#0000ff" face="Courier New" size="2"><font
                  color="#0000ff" face="Courier New" size="2"><font
                    color="#0000ff" face="Courier New" size="2">if</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2"> ~exist(</font></font><font color="#a020f0"
                face="Courier New" size="2"><font color="#a020f0"
                  face="Courier New" size="2"><font color="#a020f0"
                    face="Courier New" size="2">'power_dbm'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">, </font></font><font color="#a020f0"
                face="Courier New" size="2"><font color="#a020f0"
                  face="Courier New" size="2"><font color="#a020f0"
                    face="Courier New" size="2">'var'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">) || isempty(power_dbm)</font></font></p>
            <font face="Courier New" size="2"><font face="Courier New"
                size="2">
                <p> power_dbm = -100;</p>
              </font></font><font color="#0000ff" face="Courier New"
              size="2"><font color="#0000ff" face="Courier New" size="2"><font
                  color="#0000ff" face="Courier New" size="2">
                  <p>end</p>
                </font></font></font>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2">fid = fopen(binary_file,</font></font><font
                color="#a020f0" face="Courier New" size="2"><font
                  color="#a020f0" face="Courier New" size="2"><font
                    color="#a020f0" face="Courier New" size="2">'r'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">);</font></font></p>
            <font color="#228b22" face="Courier New" size="2"><font
                color="#228b22" face="Courier New" size="2"><font
                  color="#228b22" face="Courier New" size="2">
                  <p>%A = fread(fid,inf,'bit16','ieee-<wbr>le');</p>
                </font></font></font>
            <p><font color="#0000ff" face="Courier New" size="2"><font
                  color="#0000ff" face="Courier New" size="2"><font
                    color="#0000ff" face="Courier New" size="2">if</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2"> ~exist(</font></font><font color="#a020f0"
                face="Courier New" size="2"><font color="#a020f0"
                  face="Courier New" size="2"><font color="#a020f0"
                    face="Courier New" size="2">'wordWidth'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">,</font></font><font color="#a020f0"
                face="Courier New" size="2"><font color="#a020f0"
                  face="Courier New" size="2"><font color="#a020f0"
                    face="Courier New" size="2">'var'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">) || isempty(wordWidth)</font></font></p>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2"> </font></font><font color="#228b22"
                face="Courier New" size="2"><font color="#228b22"
                  face="Courier New" size="2"><font color="#228b22"
                    face="Courier New" size="2">% default to 16 bits...</font></font></font></p>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2"> A = fread(fid,inf,</font></font><font
                color="#a020f0" face="Courier New" size="2"><font
                  color="#a020f0" face="Courier New" size="2"><font
                    color="#a020f0" face="Courier New" size="2">'bit16'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">,</font></font><font color="#a020f0"
                face="Courier New" size="2"><font color="#a020f0"
                  face="Courier New" size="2"><font color="#a020f0"
                    face="Courier New" size="2">'ieee-<wbr>le'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">);</font></font></p>
            <font color="#0000ff" face="Courier New" size="2"><font
                color="#0000ff" face="Courier New" size="2"><font
                  color="#0000ff" face="Courier New" size="2">
                  <p>else</p>
                </font></font></font>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2"> </font></font><font color="#228b22"
                face="Courier New" size="2"><font color="#228b22"
                  face="Courier New" size="2"><font color="#228b22"
                    face="Courier New" size="2">% extract according to
                    word desired word width</font></font></font></p>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2"> width = [</font></font><font
                color="#a020f0" face="Courier New" size="2"><font
                  color="#a020f0" face="Courier New" size="2"><font
                    color="#a020f0" face="Courier New" size="2">'bit'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">,num2str(wordWidth)];</font></font></p>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2"> A = fread(fid,inf,width,</font></font><font
                color="#a020f0" face="Courier New" size="2"><font
                  color="#a020f0" face="Courier New" size="2"><font
                    color="#a020f0" face="Courier New" size="2">'ieee-le'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">)<wbr>;</font></font></p>
            <font color="#0000ff" face="Courier New" size="2"><font
                color="#0000ff" face="Courier New" size="2"><font
                  color="#0000ff" face="Courier New" size="2">
                  <p>end</p>
                </font></font></font><font color="#228b22" face="Courier
              New" size="2"><font color="#228b22" face="Courier New"
                size="2"><font color="#228b22" face="Courier New"
                  size="2">
                  <p>%A = fread(fid,inf,'bit16','ieee-<wbr>le');</p>
                  <p>%A = fread(fid,inf,'float32');</p>
                  <p>%parse the entire binary file</p>
                  <p>%A = fread(fid);</p>
                </font></font></font><font face="Courier New" size="2"><font
                face="Courier New" size="2">
                <p>fclose(fid);</p>
              </font></font><font color="#228b22" face="Courier New"
              size="2"><font color="#228b22" face="Courier New" size="2"><font
                  color="#228b22" face="Courier New" size="2">
                  <p>%A = A(1:2*4096);</p>
                </font></font></font><font face="Courier New" size="2"><font
                face="Courier New" size="2">
                <p>I = A(1:2:end);</p>
              </font></font><font color="#228b22" face="Courier New"
              size="2"><font color="#228b22" face="Courier New" size="2"><font
                  color="#228b22" face="Courier New" size="2">
                  <p>%figure; plot(I,'b-'); %-->counter test</p>
                </font></font></font><font face="Courier New" size="2"><font
                face="Courier New" size="2">
                <p>Q = A(2:2:end);</p>
              </font></font>
            <p><font color="#0000ff" face="Courier New" size="2"><font
                  color="#0000ff" face="Courier New" size="2"><font
                    color="#0000ff" face="Courier New" size="2">if</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2"> 0</font></font></p>
            <font face="Courier New" size="2"><font face="Courier New"
                size="2">
                <p> figure;</p>
                <p> mag = 20*log10(abs(I)); </p>
                <p> plot(faxis,mag(1:N)); </p>
              </font></font><font color="#0000ff" face="Courier New"
              size="2"><font color="#0000ff" face="Courier New" size="2"><font
                  color="#0000ff" face="Courier New" size="2">
                  <p>end</p>
                </font></font></font><font face="Courier New" size="2"><font
                face="Courier New" size="2">
                <p>complex_sig = I + 1i*Q;</p>
              </font></font><font color="#228b22" face="Courier New"
              size="2"><font color="#228b22" face="Courier New" size="2"><font
                  color="#228b22" face="Courier New" size="2">
                  <p>%complex_sig = transpose(complex_sig);</p>
                  <p>%fs = 1024e3;%512e3; %1024kHz for 4x and 8x;
                    768kHz, 512kHz and 256kHz for 6x, 2x and 1x</p>
                  <p>%fs = 512e3;</p>
                  <p>%fs = 256e3;</p>
                  <p>%fs = 7.68e6;</p>
                  <p>%fs = 15.36e6;</p>
                  <p>%fs = 7.68e6;</p>
                </font></font></font><font face="Courier New" size="2"><font
                face="Courier New" size="2">
                <p>fs =25e6;</p>
              </font></font><font color="#228b22" face="Courier New"
              size="2"><font color="#228b22" face="Courier New" size="2"><font
                  color="#228b22" face="Courier New" size="2">
                  <p>%[Pxx,F] = pwelch(complex_sig(1:4096*15),<wbr>4096,[],[],fs,'centered');%%4x
                    and 8x</p>
                  <p>%[Pxx,F] = pwelch(complex_sig(1:end),[],[<wbr>],fs,'centered');%%4x
                    and 8x</p>
                </font></font></font>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2">[Pxx,F] = pwelch(complex_sig(1:end),512,<wbr>[],[],fs,</font></font><font
                color="#a020f0" face="Courier New" size="2"><font
                  color="#a020f0" face="Courier New" size="2"><font
                    color="#a020f0" face="Courier New" size="2">'centered'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">);</font></font><font color="#228b22"
                face="Courier New" size="2"><font color="#228b22"
                  face="Courier New" size="2"><font color="#228b22"
                    face="Courier New" size="2">%%4x and 8x</font></font></font></p>
            <p><font color="#0000ff" face="Courier New" size="2"><font
                  color="#0000ff" face="Courier New" size="2"><font
                    color="#0000ff" face="Courier New" size="2">if</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2"> plotOn</font></font></p>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2"> figure; plot(F,10*log10((Pxx)),</font></font><font
                color="#a020f0" face="Courier New" size="2"><font
                  color="#a020f0" face="Courier New" size="2"><font
                    color="#a020f0" face="Courier New" size="2">'b-'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">); grid </font></font><font color="#a020f0"
                face="Courier New" size="2"><font color="#a020f0"
                  face="Courier New" size="2"><font color="#a020f0"
                    face="Courier New" size="2">on</font></font></font></p>
            <font face="Courier New" size="2"><font face="Courier New"
                size="2">
                <p> title(binary_file)</p>
              </font></font>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2"> </font></font><font color="#0000ff"
                face="Courier New" size="2"><font color="#0000ff"
                  face="Courier New" size="2"><font color="#0000ff"
                    face="Courier New" size="2">if</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2"> exist(</font></font><font color="#a020f0"
                face="Courier New" size="2"><font color="#a020f0"
                  face="Courier New" size="2"><font color="#a020f0"
                    face="Courier New" size="2">'title_str'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">,</font></font><font color="#a020f0"
                face="Courier New" size="2"><font color="#a020f0"
                  face="Courier New" size="2"><font color="#a020f0"
                    face="Courier New" size="2">'var'</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2">)</font></font></p>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2"> </font></font><font color="#0000ff"
                face="Courier New" size="2"><font color="#0000ff"
                  face="Courier New" size="2"><font color="#0000ff"
                    face="Courier New" size="2">if</font></font></font><font
                face="Courier New" size="2"><font face="Courier New"
                  size="2"> ~isempty(title_str)</font></font></p>
            <font face="Courier New" size="2"><font face="Courier New"
                size="2">
                <p> title(title_str)</p>
              </font></font>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2"> </font></font><font color="#0000ff"
                face="Courier New" size="2"><font color="#0000ff"
                  face="Courier New" size="2"><font color="#0000ff"
                    face="Courier New" size="2">end</font></font></font></p>
            <p><font face="Courier New" size="2"><font face="Courier
                  New" size="2"> </font></font><font color="#0000ff"
                face="Courier New" size="2"><font color="#0000ff"
                  face="Courier New" size="2"><font color="#0000ff"
                    face="Courier New" size="2">end</font></font></font></p>
            <font color="#0000ff" face="Courier New" size="2"><font
                color="#0000ff" face="Courier New" size="2"><font
                  color="#0000ff" face="Courier New" size="2">
                  <p>end</p>
                </font></font></font></div>
          <div><span><br>
            </span></div>
          <div><br>
          </div>
          <div>Please let me know if it is possible to resolve the
            issue to eliminating the tone beyond 20 MHz bandwidth for 25
            Msps sampling rate . I know with bandwidth and sample rate
            being pretty close it might not be possible to eliminate the
            tone or there might be aliasing effect . I did increase the
            master clock but the highest I could go is 50 MHz. I need 25
            Msps sample rate and cannot change that.</div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
        </div>
        <div><br>
        </div>
        <div><br clear="all">
        </div>
        <div>
          <div class="gmail_signature">
            <div dir="ltr">
              <div><font face="arial,helvetica,sans-serif">Thanks and
                  Regards,<br>
                </font></div>
              <font face="arial,helvetica,sans-serif">Olivani <br>
                <br>
              </font></div>
          </div>
        </div>
      </div>
      <br>
    </blockquote>
    If you're only using a single channel, then you might try increasing
    the master clock rate to 50MHz, which will give the digital
    filtering more "head room"<br>
      to work.<br>
    <br>
    <br>
    <br>
  </body>
</html>