Hi,I have a signal and its spectrum and I would like to run dft and sndr/sfdr on it. However, I have a few spurs in the spectrum and would like to run the spectral analysis removing those spurs. Can I generate a new spectrum from the existing one but without the spurs or find sndr not taking them into considerations? I know how to do it in Matlab, but have no clue how to do the same in spectre.ThanksSvilen
Svilen64 said:However, I have a few spurs in the spectrum and would like to run the spectral analysis removing those spurs. Can I generate a new spectrum from the existing one but without the spurs or find sndr not taking them into considerations?
I have an ocean procedure that will remove spurious tones from a spectrum and both plot and print the resulting spur-removed spectrum to a file. This routine is not adaptive in that the spur threshold is set in the calling line. (I have a far more complex program that has among its features an adaptive spur removal.) The ocean script can be run from the CIW or from within a larger ocean script. It returns the rms value of the spur-removed spectrum.
This would enable you to compute an SNR using the spur-removed spectrum in ViVA or using the text file it creates of the spur removed spectrum.
I can provide you this routine and an example if this is something you might have an interest Svilen64.
I also have a function which takes a spectrum and gives you a new spectrum with some of the tones removed. It works by you specifying a fundamental frequency that you want to eliminate and the number of "bins" either side that you want to remove from each multiple. It was rather specific to a request from one customer so I'm not sure whether it will solve your problem.
The key is to understand any pattern for the spurs you're trying remove. Is there a way of consistently describing them somehow? I'm sure my code could be adapted, but rather than posting it here I'd sooner understand exactly what you're looking for.