Seeking recommended literature search terms for a solution to a specific kind of data structure? Hopefully this isn't considered too off-topic. I'm working in industry these days and came up with a solution to an analysis problem we'd been facing. I'd like to get a sense as to whether said solution has been published before or if there are alternatives I should look at, but I'm having trouble searching for this particular data scenario. I'll describe the data structure below, and would appreciate any input on how I should be searching the literature.
So I have two timeseries: one that is pure noise (noise_only), and one that is very similar noise plus a target signal of interest (noise_plus_target). In each timeseries, the noise is actually made up of multiple somewhat-frequency-distinct signals, and the same set of said noise signals contribute to each observed timeseries additively but with different weights between the two. In theory, we should be able to use information from the noise_only timeseries to help remove the noise from  the noise_plus_target timeseries, and I've come up with a method to achieve this, but I want to know what other solutions might have been already published for this kind of scenario.
In R, code for generating fake data that match the characteristics of my real data would be:
library(tidyverse)

# define a function to generate simple sinusoid given time and hz
sine = function(time,hz) sin(time*(2*pi)*hz)

#define a function to scale values to 0:1
scale01 = function(x) (x - min(x)) / diff(range(x))

#specify sample rate
sample_rate = 10 #in Hz
max_time = 30

#construct a tibble
latent_signals = tibble(
    #specify sampling times (in seconds)
      time = seq(0,max_time,1/sample_rate) #30s of data
    #construct some latent noise signals, each at a decently separated Hz
    , noise1 = sine(time,1/11)
    , noise2 = sine(time,1/3)
    , noise3 = sine(time,1)
    #specify a target signal that will be hidden in the noise 
    # This could take any shape; here I've chosen a bump midway 
    # through the timeseries
    , target = scale01(dnorm(time,mean=max_time/2,sd=3))
)

#show the latent signals
latent_signals %>%
    tidyr::pivot_longer(
        cols = -time
    ) %>%
    ggplot()+
    facet_grid(
        name ~ .
    )+
    geom_line(
        mapping = aes(
            x = time
            , y = value
        )
    )

#combine the latent signals into two observed signals, with different weights
# for each and the latent target only in one
latent_signals %>%
    dplyr::mutate(
        noise_only =
            noise1*runif(1,.5,1.5) +
            noise2*runif(1,.5,1.5) +
            noise3*runif(1,.5,1.5)
        , noise_plus_target =
            noise1*runif(1,.5,1.5) +
            noise2*runif(1,.5,1.5) +
            noise3*runif(1,.5,1.5) +
            target
    ) %>%
    dplyr::select(
        time
        , contains('_')
    ) ->
    observed_signals

#show the observed signals
observed_signals %>%
    tidyr::pivot_longer(
        cols = -time
    ) %>%
    ggplot()+
    facet_grid(
        name ~ .
    )+
    geom_line(
        mapping = aes(
            x = time
            , y = value
        )
    )

```

 A: The comments on blind source separation and independent components analysis are good. However, from what you have said, there might be an easier way.
You said you have a sample of the pure noise signal and that the noise in concentrated in a few frequencies. It would seem sensible to then run fft() on the noise signal and look for frequencies that represent most of the power in the noise.
Then, you could run an FFT on your signal+noise, filter out those frequencies (i.e. set them to 0), and push that through an inverse FFT (fft(inverse=TRUE)) to get back your signal without noise. The process is a bit manual and I would not call it elegant, but it is simple.
One caveat: to the extent that your signal has components in those noise frequencies, you would lose that part of your signal. you might be able to get around that, however, by ascertaining the fraction of signal+noise which is noise and then only partially subtracting out noise frequencies.
A: You might be able to use a machine learning model (i.e. a neural network) to predict the noise and then obtain the clean signal by difference, or directly predict the clean signal. So this might be an interesting domain to look at.
More in detail, suppose that you train a model using as input the noise_plus_target at t-n, ..., t-1 and as target for the prediction the noise_only at t. If the prediction is good (or, if your model can learn the patterns of the noise in the noise_plus_target signal), then you should be able to predict the noise at t just from noise_plus_target. Now, if you subtract the prediction of the noise form your actual recording at t you should get the signal.
Instead of thinking about t-n, ..., t-1 you could also think about windows and work in the frequency domain for your prediction (window by window), which might help the model to some extent since you would use the FFT as a feature extraction technique, basically.
To better answer the original question, search terms for literature would be around words like "neural networks noise reduction", "machine learning noise reduction", and permutations on the theme (i.e. "recurrent neural networks", "convolutional neural networks", "LSTM" etc. + "noise reduction").
For example, with these keywords I found some interesting work carried out by Google Research and co-authored by Andrew Ng himself [1]: "We introduce a model which uses a deep recurrent auto encoder neural network to denoise input features for robust ASR. The model is trained on stereo (noisy and clean) audio features to predict clean features given noisy input"
Hope this helps!
[1] https://research.google/pubs/pub45168/
