Question about lowering the resolution of a 1Dspectrum (using specutils/astropy)

341 Views Asked by At

so mainly my main issue resumes in this

-) I have this high resolution spectrum (lets call it Model) and I want to lower it into a lower resolution (lets call it experimental), to compare both and see if the experimental behavior is in the model

-) I already know the experimental resolution I want to smooth into and also I know the Model high resolution Im working with

For that Im using both specutils gaussian smooth and also astropy convolve. And also tried using the FluxConservingResampler from specutils

For what I did, now, both convolution functions (the astropy and specutils one) work with a gaussian kernel

gaussian_smooth(Spectrum, stddev=sigma) for the specutils method

convolve(Spectrum.flux,kernel) for the astropy one

now, when looking the kernel in the astropy method I can also use the function

kernel=Gaussian1Dkernel(sigma) so at the end both of these use standard deviation/sigma.

Here is where my problem exists, for the sigma Ive been using the FWHM relationship

sigma = FWHM / (2 * np.sqrt(2 * np.log(2)))

And this FWHM is calculated using the experimental resolution.

After doing the convolution, yeah I can see the spectrum is indeed smoothed BUT what causes me confusion is

How do I know the spectrum is indeed smoothed to the resolution I want? is there a way to actually apply the experimental resolution into the smoothing? like ''I want to lower to this resolution''

Ive thought in doing a scaling factor, for example

model_resolution/experimental_resolution, but I really dont know how to apply it in code.

If anybody can help me that would be the best of the best Thank you very much

1

There are 1 best solutions below

0
Thayse Pacheco On

There is an expression for Resolving power R = wavelength/FWHM. In this case, if FWHM is fixed, the resolving power is higher for higher wavelengths.