# Why MATLAB only allows cpsd and mscohere between vectors with the same length?

I am studying the applications of finding coherence in the frequency spectrum between two signals for pattern recognition. I have a recording that is way longer than the sampled signal that I want to compare. However, MATLAB only allows cpsd and mscohere between vectors with the same length. I figured that there must be a good reason for that, but I could not find it.

Also, I was digging through the math of the procedure and I figure that I could do a crosscorrelation between the two (although it would be raw, i.e., not unbiased), and then apply the Fourier transform to obtain the correlated frequencies. Do you think it is sound or make sense to do such a thing?